【问题标题】:subset with java [duplicate]java的子集[重复]
【发布时间】:2011-01-07 14:11:45
【问题描述】:

可能重复:
How to find all possible subsets of a given array?

我必须找到给定数组的所有可能子集。你知道任何算法吗?

【问题讨论】:

  • 你能举一个小例子来说明你对某个输入数组的期望吗?
  • @duffymo 引用链接中的问题与这个略有不同,我认为这些问题不完全相同。
  • @duffymo,浪费了 5 分钟:/
  • 例如,如果我有 {1,2,3} 子集是 {empty set},{1},{2},{3},{1,2},{1,3} ,{2,3},{1,2,3}

标签: java subset


【解决方案1】:

这是一个长镜头,但如果您需要一个函数来生成 {},{1},{2},{3},{1,2},{2,3},{1,3}, {1,2,3} 来自 {1,2,3}。您可以生成从 0 到 2^count(array)-1 的二进制数字,并选择与生成数字中的二进制数字相对应的数组项。

000 -> {}
100 -> {1}
010 -> {2}
110 -> {1,2}
001 -> {3}
101 -> {1,3}
011 -> {2,3}
111 -> {1,2,3}

// 左侧二进制系统又称惰性二进制系统

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-29
    • 2016-02-21
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 2016-02-16
    相关资源
    最近更新 更多