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

 找回密码
 立即注册
  • 小龙女报警抓母不算啥!朱茵曾说过的话才是惊恐
  • 何洁过生日晒美照 自称为爱奋不顾身付出
  • 原来左撇子的甜馨字这么漂亮,老爸贾乃亮都自叹不如
  • 体验生活?薛之谦被曝KTV撩妹抽烟
  • 章子怡好继母人设崩塌?小苹果一直跟奶奶住
  • 安琥签约诚利风尚迎首秀?亮相Cabbeen时装发布会
  • 大家更爱健康:可口可乐、百事可乐心酸没人喝
  • 秘鲁10年一遇洪灾 男子洪水中开车:这一幕太惊险
  • 海豚猛撞河豚竟为逼出毒素:吸了会兴奋上瘾
  • 汪小菲为老婆儿女做什么了能让大S这样称赞?
  • 医疗改革,联合健康将极具吸引力
  • AMD将打破这暴风雨前的平静
  • 特朗普敦促“美国优先”,但股票投资者应该关注海外市场
  • 英特尔能够抓住自动驾驶新革命吗?
  • 在“中性”评级下,Snapchat股价不断攀升
  • IBM:只有适应才能变得更好
  • 如果特朗普的医保法案通过,谁会是赢家?
  • 自第一季度科技泡沫以来,投资者情绪跃升至最高水平
  • 为什么特朗普交易仍然完好无损?
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3021|回复: 4

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

[复制链接]

14

主题

247

帖子

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
新浪微博官方账号】美国省钱快报FunInUSA : 每日滚动更新美国市场折扣资讯微商进货首选资讯渠道。
回复 百度谷歌雅虎搜狗搜搜有道360奇虎

举报

23

主题

81

帖子

126

积分

注册会员

Rank: 2

积分
126
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

主题

95

帖子

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,永远跑不完



--

33

主题

105

帖子

180

积分

注册会员

Rank: 2

积分
180
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,永远跑不完
--

23

主题

1213

帖子

2400

积分

金牌会员

Rank: 6Rank: 6

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

本版积分规则

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

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

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

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

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