力扣:递增子序列java
创始人
2024-01-26 09:39:13
0

力扣:递增子序列java

在这里插入图片描述

流程:

设置一个结果集和路径path
本题不设置used而是再当前层设置一个map
递归三部曲:
参数和返回值:参数为输入数组nums,开始下标startindex,返回值为空
对path>1时的path输入结果集//放到这里是因为要收集所有子节点
结束条件:当startIndex>nums.length时结束。
单层递归逻辑:
for循环(i=startindex;i 循环内:节点是否小于path最后一个节点,是就continue//小于就说明不符合递增
节点是否再map中出现过,是就continue//出现过说明要进行数层去重
将节点输入map
将节点输入path
递归(nums,i+1)
回溯:当前节点弹出

代码:

class Solution {List> result = new ArrayList<>();//结果集LinkedList path = new LinkedList<>();//当前路径public List> findSubsequences(int[] nums) {//主函数ascziji(nums,0);//调用递归函数return result;}public void ascziji(int[]  nums,int startIndex){//递归函数if(path.size()>1){//输出到结果集result.add(new ArrayList(path));}//结束条件隐藏,因为startindex>nums.length时for循环也不会进入HashMap map = new HashMap<>();//定义一个map保证树层无重复for(int i=startIndex;i0) continue;//树层去重map.put(nums[i],map.getOrDefault(nums[i],0)+1);//节点输入mappath.add(nums[i]);//节点输入路径ascziji(nums,i+1);//递归下一层path.removeLast();回溯,弹出当前节点}}
}

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...