首页 > 其他分享 >LeetCode 491. 递增子序列

LeetCode 491. 递增子序列

时间:2023-06-11 11:33:33浏览次数:49  
标签:idx nums 递增 back 491 vector ans path LeetCode

class Solution {
public:
    vector<vector<int>> ans;
    vector<int> path;
    void dfs(vector<int> nums,int idx)//选择path的下一个数填什么,从下标idx开始选
    {
        if(path.size()>=2)   ans.push_back(path);
        if(idx==nums.size())
            return;
        set<int> s;
        for(int i=idx;i<nums.size();i++)
            if(path.empty()||nums[i]>=path.back())
            {
                if(s.count(nums[i]))    continue;
                s.insert(nums[i]);
                path.push_back(nums[i]);
                dfs(nums,i+1);
                path.pop_back();
            }
    }
    vector<vector<int>> findSubsequences(vector<int>& nums) {
        dfs(nums,0);
        return ans;
    }
};

标签:idx,nums,递增,back,491,vector,ans,path,LeetCode
From: https://www.cnblogs.com/tangxibomb/p/17472723.html

相关文章

  • LeetCode----二分查找
    1算法原理适用条件:有序数组2算法模板classSolution:defsearch(self,nums:List[int],target:int)->int:left=0right=len(nums)-1#规则[left,right]whileleft<=right:#根据规则,举例[1,1]添加=是否合法即可......
  • #yyds干货盘点# LeetCode程序员面试金典:环形链表
    题目:给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。注意:pos不作为参数进行传递 。仅仅是为了标识链......
  • #yyds干货盘点# LeetCode程序员面试金典:移除链表元素
    1.简述:给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。 示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:head=[7,7,7,7],val=7输出:[]2.代码实现:class......
  • LeetCode 47. 全排列 II
    classSolution{public:vector<vector<int>>res;vector<int>path;boolst[10];voiddfs(vector<int>nums,intu){if(u==nums.size()){res.push_back(path);return;......
  • #yyds干货盘点# LeetCode程序员面试金典:单词接龙 II
    题目:按字典 wordList完成从单词beginWord到单词endWord转化,一个表示此过程的转换序列是形式上像beginWord->s1->s2->...->sk这样的单词序列,并满足:每对相邻的单词之间仅有单个字母不同。转换过程中的每个单词si(1<=i<=k)必须是字典 wordList中的单词。注意,be......
  • #yyds干货盘点# LeetCode程序员面试金典:快乐数
    1.简述:编写一个算法来判断一个数n是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为1,也可能是无限循环但始终变不到1。如果这个过程结果为 1,那么这个数就是快乐数。如果n是快乐数就返回t......
  • Leetcode Hot 100 & 128. Longest Consecutive Sequence
    参考资料:考点:哈希&[题干]Input:nums=[100,4,200,1,3,2]Output:4Explanation:Thelongestconsecutiveelementssequenceis[1,2,3,4].Thereforeitslengthis4.做的时候冥思苦想了半天,因为这个题目要求是O(n)的解法,后来看到题解的时候还一度怀......
  • LeetCode> 69. 求x的平方根
    目录题目题目描述解题思路参考题目地址:LeetCode69.x的平方根题目描述给你一个非负整数x,计算并返回x的算术平方根。由于返回类型是整数,结果只保留整数部分,小数部分将被舍去。注意:不允许使用任何内置指数函数和算符,例如pow(x,0.5)或者x**0.5。示例1:输入:x......
  • 【LeetCode滑动窗口专题#2】无重复字符的最长子串
    #1传送门滑动窗口最大值长度最小的子数组无重复字符的最长子串给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:......
  • #yyds干货盘点# LeetCode程序员面试金典:单词接龙
    题目:字典 wordList中从单词beginWord 和endWord的转换序列是一个按下述规格形成的序列 beginWord->s1 ->s2 ->...->sk:每一对相邻的单词只差一个字母。 对于 1<=i<=k 时,每个 si 都在 wordList 中。注意,beginWord 不需要在 wordList 中。sk ==endW......