由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 常见编程面试题答案的2种格式,哪种最好?
相关主题
请问一个java的问题(leetcode subsets一题)Combination Sum II哪里做错了
请教一个题目求救, F家onsite算法题
请教leetcode Subsets II问个Amazon面试题
请教一下subset I 输出子集顺序问题leetcode上遇到的问题
a problem from leetcode: high efficiency algorithm for combinations problemPermutation leetcode-
combinations 有没有 iterative的方法阿 ?请教,Binary Tree Level Traversal有recursive的算法么?
问个递归的问题path sum II OJ 超时
Facebook Phone Inteview + 流程请教自己写了个graph的class但是不work 求指点
相关话题的讨论汇总
话题: arraylist话题: integer话题: num话题: res话题: int
进入JobHunting版参与讨论
1 (共1页)
S*******C
发帖数: 822
1
http://oj.leetcode.com/problems/subsets/
第一种格式:res作为局部变量避免线程安全问题,但比较啰嗦
public ArrayList> subsets(int[] num){
if(num==null) return null;
Arrays.sort(num);
ArrayList> res=new ArrayList>(
);
res.add(new ArrayList());// [[]]
dfs(res, num,0,new ArrayList());
return res;
}
private void dfs(ArrayList> res, int[] num, int pos,
ArrayList temp){
for(int i=pos;i temp.add(num[i]);
res.add(new ArrayList(temp));
dfs(res, num,i+1,temp);
temp.remove(temp.size()-1);
}
}
第二种格式:res作为成员变量,有线程安全问题,但很简洁
private ArrayList> res=null;
public ArrayList> subsets(int[] num){
res=new ArrayList>();
if(num==null || num.length==0)
return res;
Arrays.sort(num);
res.add(new ArrayList());//res = [[]]
rec(num, 0, new ArrayList());
return res;
}
private void rec(int[] num, int begin, ArrayList temp){
for(int i=begin; i if(i > begin && num[i] == num[i - 1]) continue;
temp.add(num[i]);
res.add(new ArrayList(temp));
rec(num, i+1, temp);
temp.remove(temp.size()-1);
}
}
P*******L
发帖数: 2637
2
都不好,看我的:
def subsets(self, S):
R = [[]]
for s in sorted(S):
R += [r+[s] for r in R]
return R

>(

【在 S*******C 的大作中提到】
: http://oj.leetcode.com/problems/subsets/
: 第一种格式:res作为局部变量避免线程安全问题,但比较啰嗦
: public ArrayList> subsets(int[] num){
: if(num==null) return null;
: Arrays.sort(num);
: ArrayList> res=new ArrayList>(
: );
: res.add(new ArrayList());// [[]]
: dfs(res, num,0,new ArrayList());
: return res;

S*******C
发帖数: 822
3
用JAVA怎么写?

【在 P*******L 的大作中提到】
: 都不好,看我的:
: def subsets(self, S):
: R = [[]]
: for s in sorted(S):
: R += [r+[s] for r in R]
: return R
:
: >(

h*d
发帖数: 19309
4
我觉得如果需要debug的话后者好,另外编译的时候很多东西优化掉了,性能没有损失
,后者可读性也应该强些。

>(

【在 S*******C 的大作中提到】
: http://oj.leetcode.com/problems/subsets/
: 第一种格式:res作为局部变量避免线程安全问题,但比较啰嗦
: public ArrayList> subsets(int[] num){
: if(num==null) return null;
: Arrays.sort(num);
: ArrayList> res=new ArrayList>(
: );
: res.add(new ArrayList());// [[]]
: dfs(res, num,0,new ArrayList());
: return res;

S*******C
发帖数: 822
5
求教
R*********d
发帖数: 34
6
算法面试不考虑线程安全吧,如果有特殊要求,加个同步锁就好了。
怎么自己顺手就怎么写
纯属个人意见

>(

【在 S*******C 的大作中提到】
: http://oj.leetcode.com/problems/subsets/
: 第一种格式:res作为局部变量避免线程安全问题,但比较啰嗦
: public ArrayList> subsets(int[] num){
: if(num==null) return null;
: Arrays.sort(num);
: ArrayList> res=new ArrayList>(
: );
: res.add(new ArrayList());// [[]]
: dfs(res, num,0,new ArrayList());
: return res;

c********p
发帖数: 1969
7
java 大牛也用刷题??
1 (共1页)
进入JobHunting版参与讨论
相关主题
自己写了个graph的class但是不work 求指点a problem from leetcode: high efficiency algorithm for combinations problem
inorder traversal的空间复杂度是O(N) 还是O(logN)?combinations 有没有 iterative的方法阿 ?
请教下3sum为撒超时问个递归的问题
请帮忙看段code,为什么过不了。Facebook Phone Inteview + 流程请教
请问一个java的问题(leetcode subsets一题)Combination Sum II哪里做错了
请教一个题目求救, F家onsite算法题
请教leetcode Subsets II问个Amazon面试题
请教一下subset I 输出子集顺序问题leetcode上遇到的问题
相关话题的讨论汇总
话题: arraylist话题: integer话题: num话题: res话题: int