leetcode: Combinations

本文分享了一次在编程中遇到TLE(超出时间限制)的问题,通过深入分析发现是由于一个小笔误导致。文章详细介绍了如何在代码中避免这种常见错误,以及如何提高代码效率,对于初学者和经验丰富的开发者都有一定的借鉴意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很简单一道题,提交多次都是TLE原来是一个小笔误

class Solution {
public:
    vector<vector<int> > combine(int n, int k) {
        if( n == 0 || k == 0)
            return vector<vector<int > >();
        vector< vector< int> > res;
        vector< int> cur;
        _combine( res, cur, n, k, 1, 0);
        return res;
    }
private:
    void _combine( vector< vector< int> > &res, vector< int> &cur, int n, int k, int pos, int cur_k){
        if( cur_k == k){
            res.push_back(cur);
            return;
        }
        for( int i = pos; i <= n; ++i){
            cur.push_back(i);
            _combine( res, cur, n, k, i+1, cur_k+1);//错在这里,不是pos+1,是i+1,要仔细
            cur.pop_back();
        }
    }
};


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值