栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

leetcode491. 递增子序列(树层去重魔改版)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

leetcode491. 递增子序列(树层去重魔改版)

一:题目

二:上码
class Solution {
    

    List> ans = new ArrayList<>();
    List path = new ArrayList<>();

    public boolean getIcrease(List nums) {

        for (int i = 0;i < nums.size(); i++) {
            if (i-1 >= 0 && nums.get(i) < nums.get(i-1)) return false;
        }
        return true;
    }
    
    public void getAns(int[] nums,int st) {
        
        if (path.size() >= 2 && getIcrease(path)) {
            ans.add(new ArrayList<>(path));
        }
        
        Map map = new HashMap<>();
        for (int i = st; i < nums.length; i++) {
             map.put(nums[i],map.getOrDefault(nums[i],0)+1);
 
            if (map.getOrDefault(nums[i],0) > 1) continue;

            path.add(nums[i]);
            getAns(nums,i+1);
            path.remove(path.size()-1);
        }
    }

    public List> findSubsequences(int[] nums) {
        getAns(nums,0);
        return ans;

        // int[] ll = {4,4};
        // System.out.println(getIcrease(ll));
        // return ans;
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/894909.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号