如果这个问题对你来说太容易了,请耐心等待。我是Java泛型的新手,遇到了一个令我感到困惑的编码示例。它希望在给出一组不同的整数时返回所有可能的子集。
我的问题:
为什么以下代码使用List<List<Integer>>
?您可以使用List<Integer>
吗?
List<List<Integer>>
等结构的技术术语是什么?我想在线阅读更多内容。
非常感谢你的帮助!
public class Example {
public List<List<Integer>> subsets(int[] nums) {
}
}
答案 0 :(得分:3)
一个集合(List)将只返回一个子集,以返回您需要集合集合的所有子集。例如,如果初始集是(1,2,3),则所有子集都是(1,2,3),(1,2),(1,3),(2,3),(1),(2) ,(3)。如你所见,他们每个都是列表。要返回此类结果,您应该使用List of List。
答案 1 :(得分:2)
关键部分是所有可能的子集,这意味着每个条目有多个值(或List
个List
。你无法代表
1,2,3
4,5,6
作为两个不同的集合,没有集合集合(或数组数组)。
答案 2 :(得分:1)
您可以使用List吗?是的,没有。
您始终可以找到从n维结构到1维结构的投影。例如。只需浏览所有列表并将成员添加到单个列表中。
但你不能(总是/大部分时间)扭转这个过程,一旦你有List<Integer>
它有时候不可能回到List<List<Integer>>
,或者它真的很复杂而不是值得计算时间。
答案 3 :(得分:1)
太简单了。 gameMoney
只是一个整数列表。将其视为2D数组。
将a,b,c视为List<List<Integer>>
List<Integer>
然后
a-> 1,2,3,4,5..
b->5,6,8..
c->4,6,9,7,4..
xyz只是a,b,c的列表。