美国华人网FuninUSA|唐人社区|北美华人论坛:找好货,找礼品卡,找折扣,找工作,找内推,找项目,找股票

 找回密码
 立即注册
  • 横扫人类棋坛后 AI机器下个目标是征服翻译
  • 扁形虫再生能力“隐藏代码”被找到 人类重生肢体有望
  • 猫咪抓蜜蜂被蛰成“猪头”:心疼又好笑
  • 不喝水能活120年 地球上最顽强的生物是它
  • 每秒42厘米!多足昆虫蚰蜒惊现窗台:男子吓坏
  • 2016-2017季度美帝荧屏收视大盘点
  • 西班牙时区错了77年!生活作息乱套
  • 太幸运:外卖小哥突发心梗 顾客刚好是大夫
  • 世界首款电子墓碑诞生:48英寸触摸屏
  • 南极发现绝美龙鳞状冰面:遥远角落超越尘世的美景
  • Total (NYSE:TOT):一个不错的买入选择
  • NVIDIA获软银40亿美元撑腰
  • 你相信吗?特斯拉股价可能飙升至500美元
  • 震惊!余额宝资金规模超一万亿其最高存款额度上限降至25万
  • 今天的股票市场,投资者该怎么选择
  • 石油是否下行还得看中国“脸色”
  • 零售类股价没有最低,只有更低……
  • 今日关键词:石油开采、经济数据、收入报告
  • 华人进入美国主流社会蒙市废除排华法案
  • 华人女子情色交易被抓连累入境美国的单身中国女子
Logo1-800-PetMeds Free Shipping $49Take $10 Off Your First Order w/code: SAVE10 - 234 x 60
ASICS AmericaPagoda Piercing Banner 234x60Sierra Trading Post
搜索
查看: 3027|回复: 4

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

[复制链接]

18

主题

254

帖子

293

积分

注册会员

Rank: 2

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

举报

28

主题

85

帖子

140

积分

注册会员

Rank: 2

积分
140
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;
    }
};
--

24

主题

98

帖子

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

主题

111

帖子

186

积分

注册会员

Rank: 2

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

主题

1239

帖子

2453

积分

金牌会员

Rank: 6Rank: 6

积分
2453
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|唐人社区

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

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