返回信息流leetcode遇到一个题,要求输出一个数组中数的全部排序,返回List<List<Integer>>。
题目中给出的例子是:
我以为就是要按照字典顺序输出,但是看到disscuss中没有考虑字典顺序,而是随便输出的。代码如下
public List<List<Integer>> permute(int[] num) {
List<List<Integer>> ans = new ArrayList<List<Integer>>();
if (num.length ==0) return ans;
List<Integer> l0 = new ArrayList<Integer>();
l0.add(num[0]);
ans.add(l0);
for (int i = 1; i< num.length; ++i){
List<List<Integer>> new_ans = new ArrayList<List<Integer>>();
for (int j = 0; j<=i; ++j){
for (List<Integer> l : ans){
List<Integer> new_l = new ArrayList<Integer>(l);
new_l.add(j,num[i]);
new_ans.add(new_l);
}
}
ans = new_ans;
}
return ans;
}
我将倒数第七行new_ans.add(new_l)改为new_ans.add(0,new_l),结果仍然是AC。两次顺序完全不同的List都AC了,List不是有序的吗,求助~
这是一条镜像帖。来源:北邮人论坛 / java / #52797同步于 2016/9/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
List中元素顺序问题
linsiy
2016/9/8镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复