当前位置: 首页 > article >正文

LeetCode 491-非递减子序列

题目链接:LeetCod491

欢迎留言交流,每天都会回消息。

class Solution {
    //最终返回结果
    List<List<Integer>> rs = new ArrayList<>();
    //递归路径中的值
    LinkedList<Integer> path = new LinkedList<>();
    public List<List<Integer>> findSubsequences(int[] nums) {
        backTracking(nums, 0);
        return rs;
    }

    void backTracking(int[] nums, int startIdx){
        //返回的集合元素的值的大小大于2,添加到结果集合中
        if(path.size() >= 2){
            rs.add(new ArrayList<>(path));
        }
        //用于去除重复的操作
        HashSet<Integer> set = new HashSet<>();
        for(int i = startIdx; i < nums.length; i++){
            //加入的值不是递增的序列或者加入的值已经存在的时候直接下一次循环(主要用于同一层中,不同层不适用)
            if(!path.isEmpty() && nums[i] < path.get(path.size() - 1) || set.contains(nums[i]))
                continue;
            //将加入的值存到set集合中
            set.add(nums[i]);
            path.add(nums[i]);
            //递归
            backTracking(nums, i + 1);
            //回溯
            path.removeLast();
        }
    }
}

http://www.kler.cn/a/395445.html

相关文章:

  • java 随机生成验证码
  • sql在按照当前表查询返回
  • css中的变量使用
  • 【MYSQL】数据库日志 (了解即可)
  • ssm114基于SSM框架的网上拍卖系统的设计与实现+vue(论文+源码)_kaic
  • goframe开发一个企业网站 验证码17
  • inpainting 语言驱动
  • 免费申请 Let‘s Encrypt SSL 证书
  • MongoDB分布式集群搭建----副本集----PSS/PSA
  • 28-一些常见的内存问题
  • 【SQL】E-R模型(实体-联系模型)
  • 【eNSP】路由基础与路由来源——静态路由实验
  • 数据分析24.11.13
  • 内网安全、域渗透测试工具-NetExec介绍及使用(优秀)
  • 视频编码基础入门
  • 香港科技大学广州|数据科学与分析学域硕博招生【线上】宣讲会
  • 记录一下跨域的问题,讲讲跨域
  • 一文读懂 Web 安全
  • nmap-converter转化nmap输出表格格式
  • JavaEE 重要的API阅读
  • 飞凌嵌入式RK3576核心板已适配Android 14系统
  • 一键生成本地SSL证书:打造HTTPS安全环境
  • 期权懂|上证50ETF期权的交易时间是什么时候?
  • 图像处理学习笔记20241115
  • JDK自带JVM工具
  • 大语言模型的算力共享体系中,Reduce、LayerNorm和Broadcast操作