美国华人网FuninUSA_唐人社区_北美华人论坛:找礼品卡,找折扣,找报价,找工作,找内推,找项目,找股票

 找回密码
 立即注册
  • Rain金泰希五年恋爱长跑修正果 鸟叔唱婚礼祝歌
  • 少时徐贤发个人专辑 望展现专属的音乐风韵和品味
  • baby香港顺利生子
  • 为了挽回佟丽娅 陈思诚把头像换成了这张照片
  • 赵薇刘烨素颜合影 两人似乎都喝醉了
  • Angelababy香港顺产生子 黄晓明全程陪护
  • 真敬业!孙俪晒海量剧本 台词标记密密麻麻
  • Baby顺利产子 老公黄晓明曾贴心探班当大厨
  • 欧阳娜娜母亲回应女儿恋上房祖名:大家都疯了
  • 杨紫被偶像赵薇"翻牌" 激动感慨:让我哭会儿先
  • 特朗普就职总统或影响最近一周的市场
  • 谷歌曾反对特朗普,现在想找到共处的方法
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3014|回复: 4

内推面经 -leetcode一道简单题讨论:给出n,k,列出所有组合可能- 唐人社区|北美华人论 ...

[复制链接]

14

主题

241

帖子

269

积分

注册会员

Rank: 2

积分
269
QQ
发表于 2016-10-28 14:50:02 | 显示全部楼层 |阅读模式
分享到:
{$content}

唐人社区-北美华人论坛-内推面经版-leetcode一道简单题讨论:给出n,k,列出所有组合可能



JobHunting
标 题: leetcode一道简单题讨论:给出n,k,列出所有组合可能


题很简单,就是从n个数(1到n)里挑出k个数,return所有组合可能。我觉得下面有个
地方可以优化成n-depth+1,就不需要再往后面走了,因为这个解不成立,但是OJ上说
是错的,想了下竟然没想明白。有谁指点一下?

class Solution {
public:
void addComb(int n, int depth, int begin, vector& res,
vector& solution){
if (depth==0){
res.push_back(solution);
}
for (int i = begin; i【中国海淘拼单总群】36382164
回复 百度谷歌雅虎搜狗搜搜有道360奇虎

举报

20

主题

73

帖子

113

积分

注册会员

Rank: 2

积分
113
QQ
发表于 2016-10-28 15:54:09 | 显示全部楼层
JobHunting
标  题: leetcode一道简单题讨论:给出n,k,列出所有组合可能


题很简单,就是从n个数(1到n)里挑出k个数,return所有组合可能。我觉得下面有个
地方可以优化成n-depth+1,就不需要再往后面走了,因为这个解不成立,但是OJ上说
是错的,想了下竟然没想明白。有谁指点一下?

class Solution {
public:
    void addComb(int n, int depth, int begin, vector<vector<int>>& res,
vector<int>& solution){
        if (depth==0){
            res.push_back(solution);
        }
        for (int i = begin; i <= (n-depth+1); ++i){// i <= n is correct, why
n-depth+1 doesn't work?
            solution.push_back(i);
            addComb(n, depth-1, i+1, res, solution);
            solution.pop_back();
        }
        return;
    }
    vector<vector<int>> combine(int n, int k) {
        vector<vector<int>> res;
        vector<int> solution;
        addComb(n, k, 1, res, solution);
        return res;
    }
};
--

25

主题

88

帖子

153

积分

注册会员

Rank: 2

积分
153
QQ
发表于 2016-10-28 16:38:24 | 显示全部楼层
JobHunting
标  题: Re: leetcode一道简单题讨论:给出n,k,列出所有组合可能


yes, thanks.
【 在 sapphirewing (Audrey的树) 的大作中提到: 】
: 不是“错”吧
: 而是cannot terminate吧
: 你在
: if (depth==0){
:     res.push_back(solution);
: }
: 这里就该return了
: 否则depth变成负的,你的(n-depth+1) 超越n,永远跑不完



--

28

主题

97

帖子

160

积分

注册会员

Rank: 2

积分
160
QQ
发表于 2016-10-28 17:42:03 | 显示全部楼层
JobHunting
标  题: Re: leetcode一道简单题讨论:给出n,k,列出所有组合可能


不是“错”吧
而是cannot terminate吧

你在
if (depth==0){
    res.push_back(solution);
}
这里就该return了
否则depth变成负的,你的(n-depth+1) 超越n,永远跑不完
--

20

主题

1144

帖子

2259

积分

金牌会员

Rank: 6Rank: 6

积分
2259
QQ
发表于 2016-11-25 13:14:52 | 显示全部楼层
不错 支持一个了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

美国华人网|唐人社区|什么值得买FunInUSA.net发布的内推面经 -leetcode一道简单题讨论:给出n,k,列出所有组合可能- 唐人社区|北美华人论 ...帖子由网友提供或转载于网络,若发布的内推面经 -leetcode一道简单题讨论:给出n,k,列出所有组合可能- 唐人社区|北美华人论 ...侵犯了您的权益,请联系我们.
Sasa.com

Copyright ©2011 FunInUSA.com All Right Reserved.  Powered by Discuz! X3.0 小黑屋

本站信息均由会员发表,不代表美国华人网FunInUSA立场,如侵犯了您的权利请发帖投诉  技术支持: 美国华人网FunInUSA

安全联盟认证 安全联盟认证

快速回复 返回顶部 返回列表