提示您自己尝试将是这样的。考虑到我们在一个数组中有 N 个元素的事实。这些元素可能是唯一的,也可能不是唯一的。然后我们创建一个二进制数字列表/数组来映射所有可能的子数组(尽管根据您的疑问,正确的术语应该是子序列)。
For example :
here N = 4.
Array : 1 2 3 2
The possible sub sequences would be
Binary Encoding (1 to include, 0 to exclude) :
0 0 0 0 : {} # No use for us in this case
0 0 0 1 : {2}
0 0 1 0 : {3}
0 0 1 1 : {3, 2}
0 1 0 0 : {2}
0 1 0 1 : {2,2}
0 1 1 0 : {2,3}
0 1 1 1 : {2,3,2}
1 0 0 0 : {1}
1 0 0 1 : {1,2}
1 0 1 0 : {1,3}
1 0 1 1 : {1,3,2}
1 1 0 0 : {1,2}
1 1 0 1 : {1,2,2}
1 1 1 0 : {1,2,3}
1 1 1 1 : {1,2,3,2}
Thus you can generate all the sub sequences for a given array. and find their product.