由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请问一个java的问题(leetcode subsets一题)
相关主题
a problem from leetcode: high efficiency algorithm for combinations problem一道面试题和解法(求指点).
Permutation leetcode-请教一下subset I 输出子集顺序问题
PIE题: Phone number to words iterative 解法出道题。perfectPermutation
问个Amazon面试题combinations 有没有 iterative的方法阿 ?
常见编程面试题答案的2种格式,哪种最好?问个递归的问题
leetcode 4sum N^3解法有时Time Limit Exceeded有时又能通过经典递归题需要搞懂非递归算法吗?
请教一个题目求问一题G家的面经
请教leetcode Subsets IIFacebook Phone Inteview + 流程请教
相关话题的讨论汇总
话题: arraylist话题: integer话题: tmp话题: res话题: subsets
进入JobHunting版参与讨论
1 (共1页)
b*****i
发帖数: 130
1
我是按照这位大侠的解法来做leetcode subsets这题的。
http://blog.csdn.net/u011095253/article/details/9158397
01.public class Solution {
02. public ArrayList> subsets(int[] S) {
03. ArrayList> res = new ArrayList Integer>>();
04. ArrayList tmp = new ArrayList();
05. Arrays.sort(S);
06. res.add(tmp);
07. dfs(res,tmp,S,0);
08. return res;
09. }
10.
11. public void dfs(ArrayList> res, ArrayList
tmp, int[] S, int pos){
12. for(int i=pos; i<=S.length-1;i++){
13. tmp.add(S[i]);
14. res.add(new ArrayList(tmp));
15. dfs(res,tmp,S,i+1);
16. tmp.remove(tmp.size()-1);
17. }
18. }
19.}
但是有一行代码不知道该怎么理解。。
line 14: res.add(new ArrayList(tmp));
为什么不能直接用 res.add(tmp)呢? java是为了刷题才开始学的,基本功太差。。。
a**********0
发帖数: 422
2
必须新构建一个list表示temp 否则 list of list中每个都是temp 而每次对temp修
改就会导致最终结果被修改
l*****a
发帖数: 14598
3
你shishi看不那么用会是什么结果
另外他的sort似乎没什么必要,如果有重的话只sort也不会有正确结果

【在 b*****i 的大作中提到】
: 我是按照这位大侠的解法来做leetcode subsets这题的。
: http://blog.csdn.net/u011095253/article/details/9158397
: 01.public class Solution {
: 02. public ArrayList> subsets(int[] S) {
: 03. ArrayList> res = new ArrayList: Integer>>();
: 04. ArrayList tmp = new ArrayList();
: 05. Arrays.sort(S);
: 06. res.add(tmp);
: 07. dfs(res,tmp,S,0);

r****s
发帖数: 1025
4
最简单的解法,permutaion 加filter。
稍微精致一点,sort之后再permutate,permutate的时候只取比自己大的数(在sorted
array上面找)。
s******y
发帖数: 936
5
为什么这么多人不理解java 的pass by reference 还有clone的原理。去多看看基础
的东西吧,你这样面试官随便一问你就搞不清了。

【在 b*****i 的大作中提到】
: 我是按照这位大侠的解法来做leetcode subsets这题的。
: http://blog.csdn.net/u011095253/article/details/9158397
: 01.public class Solution {
: 02. public ArrayList> subsets(int[] S) {
: 03. ArrayList> res = new ArrayList: Integer>>();
: 04. ArrayList tmp = new ArrayList();
: 05. Arrays.sort(S);
: 06. res.add(tmp);
: 07. dfs(res,tmp,S,0);

w**z
发帖数: 8232
6
Java passes copy of reference

【在 s******y 的大作中提到】
: 为什么这么多人不理解java 的pass by reference 还有clone的原理。去多看看基础
: 的东西吧,你这样面试官随便一问你就搞不清了。

1 (共1页)
进入JobHunting版参与讨论
相关主题
Facebook Phone Inteview + 流程请教常见编程面试题答案的2种格式,哪种最好?
请教150上面binary的next permutationleetcode 4sum N^3解法有时Time Limit Exceeded有时又能通过
Combination Sum II哪里做错了请教一个题目
如何避免permutation中的重复计数请教leetcode Subsets II
a problem from leetcode: high efficiency algorithm for combinations problem一道面试题和解法(求指点).
Permutation leetcode-请教一下subset I 输出子集顺序问题
PIE题: Phone number to words iterative 解法出道题。perfectPermutation
问个Amazon面试题combinations 有没有 iterative的方法阿 ?
相关话题的讨论汇总
话题: arraylist话题: integer话题: tmp话题: res话题: subsets