day77(2.5)——leetcode面试经典150

77. 组合

77. 组合

java和c++果然还是不太一样,这个对象是同一个地址一定要注意

题目:

题解:

java 复制代码
class Solution {
    boolean[] flag;
    List<List<Integer>> list;

    void dfs(int x, int start, int n, int k, List<Integer> l) {
        if(x==k) {
            //这里的l是一个对象,同一个地址,最后l变成什么,每一次添加进去的l都会变成最后结果结果,所以这里要new一个副本
            list.add(new ArrayList<>(l));
            return ;
        }
        for(int i=start;i<=n;i++) {
            if(flag[i-1]==false) {
                l.add(i);
                flag[i-1]=true;
                dfs(x+1, i+1, n, k, l);
                flag[i-1]=false;
                l.remove(l.size()-1);
            }
        }
    }

    public List<List<Integer>> combine(int n, int k) {
        flag = new boolean[n];
        list = new ArrayList<>();
        dfs(0, 1, n, k, new ArrayList<Integer>());
        return list;
    }
}
相关推荐
NAGNIP15 小时前
轻松搞懂全连接神经网络结构!
人工智能·算法·面试
NAGNIP15 小时前
一文搞懂激活函数!
算法·面试
前端Hardy20 小时前
面试官:JS数组的常用方法有哪些?这篇总结让你面试稳了!
javascript·面试
牛奶21 小时前
React 底层原理 & 新特性
前端·react.js·面试
牛奶21 小时前
ts随笔:面向对象与高级类型
前端·面试·typescript
牛奶21 小时前
React 基础理论 & API 使用
前端·react.js·面试
SuperEugene21 小时前
从 Vue2 到 Vue3:语法差异与迁移时最容易懵的点
前端·vue.js·面试
SuperEugene1 天前
接口类型管理:从 any 到有组织的 api.d.ts
前端·面试·typescript
牛奶1 天前
ts随笔:基础与类型系统
前端·面试·typescript
用户73992986959721 天前
DeepSeek/GPT-4 落地实战:我如何用 Node.js + AI 手搓一个“面试神器”
面试