2.21力扣-回溯组合

77. 组合 - 力扣(LeetCode)

一:JAVA

java 复制代码
class Solution {
    List<Integer> list =new LinkedList<>();
    List<List<Integer>> ans =new LinkedList<>();

    public List<List<Integer>> combine(int n, int k) {
        df(n, k, 1);
        return ans;
    }

    public void df(int n, int k,int start){
        if(list.size()==k){
            ans.addLast(new LinkedList<>(list));
        }

        for (int i = start; i<=n; i++) {
            list.addLast(i);
            df(n, k, i+1);
            list.removeLast();
        }
    }
    
}

Q:这段代码中不能直接将 ans.addLast(new LinkedList<>(list)); 替换为 ans.addLast(list);,原因涉及到 Java 中的对象引用行为。

相关推荐
jinyishu_几秒前
链表经典OJ题
c语言·数据结构·算法·链表
葫三生6 分钟前
三生原理文章被AtomGit‌开源社区收录的意义探析?
人工智能·深度学习·神经网络·算法·搜索引擎·开源·transformer
AI进化营-智能译站9 分钟前
ROS2 C++开发系列15-模板实现通用算法|宏定义ROS2调试开关|一次编码适配多平台
java·c++·算法·ai
刀法如飞12 分钟前
Java数组去重的20种实现方式——指导AI解决不同问题的思路
java·算法·面试
良木生香18 分钟前
【C++初阶】STL——Vector从入门到应用完全指南(1)
开发语言·c++·神经网络·算法·计算机视觉·自然语言处理·数据挖掘
Brilliantwxx18 分钟前
【C++】String的模拟实现(代码实现与坑点讲解)
开发语言·c++·笔记·算法
憨波个27 分钟前
【说话人日志】DOVER:diarization 输出融合算法
人工智能·算法·音频·语音识别·聚类
爱学习的张大29 分钟前
具身智能论文问答(四):pi0
人工智能·算法
上弦月-编程34 分钟前
指针编程:高效内存管理核心
java·数据结构·算法
罗超驿35 分钟前
双指针算法经典案例:LeetCode 283. 移动零(Java详解)
java·算法·leetcode