【发布时间】:2014-12-03 22:28:54
【问题描述】:
我想编写一个算法,它给出一个整数和一个数组作为输入,并增加一些元素。假设我们的数组有 4 个元素。将要增加的选定元素的索引如下(左侧整数是我们的算法输入,右侧整数是选定索引):
1 -> 1
2 -> 2
3 -> 3
4 -> 4
5 -> 1,2
6 -> 1,3
7 -> 1,4
8 -> 2,3
9 -> 2,4
10 -> 3,4
11 -> 1,2,3
12 -> 1,2,4
13 -> 1,3,4
14 -> 2,3,4
15 -> 1,2,3,4
谁知道我如何在 MATLAB 中实现这个算法?
【问题讨论】:
-
这个问题完全不清楚,但直觉上它让我想起了二进制表示......
-
@EugeneSh。对不起,但我不能更好地声明我的问题。它就像一个时钟。将第一个指针移动到末尾(秒),将产生另一个指针(分钟),依此类推。
-
好的,现在我开始明白了。您正在尝试以特定方式从 N 个元素中枚举不同的选择。不难,有时间我会写一个方法来做,如果之前没人做的话
-
是的,这看起来确实像我们从一个对象开始选择独特的对象组合,最多四个对象。我们只是列举了所有可能数量的对象的所有选择。
-
据我所知,这些元素是您的索引。
标签: arrays algorithm matlab increment indices