LintCode 1210. 升序子序列(DFS)
1. 题目
给定一个整数数组,找到所有不同的可能的升序子序列,一个升序子序列的长度至少应为2。
例1:
输入:
[4,6,7,7]
输出:
[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]例2:
输入:
[65,21,-44,31,-8]
输出:
[[-44,-8],[-44,31],[21,31]]注意事项
- 给定数组的长度不会超过15。
- 给定数组的范围为[-100, 100]。
- 给定数组可能包含重复,两个相同的整数也被算作是升序子序列的特殊情况。
2. 解题
class Solution {set<vector<int>> s;vector<int> v;
public:vector<vector<int>> findSubsequences(vector<int> &nums) {dfs(nums,0);return vector<vector<int>>(s.begin(),s.end());}void dfs(vector<int>& nums, int idx){if(idx >= nums.size()){if(v.size() >= 2)s.insert(v);return;}for(int i = idx; i < nums.size(); ++i){dfs(nums,i+1);//不放某数,找下一个if(v.empty() || v.back() <= nums[i]){ //为空 或者 是升序,放入当前数v.push_back(nums[i]);dfs(nums,i+1);v.pop_back();}}}
};
100% 数据通过测试
总耗时 209 ms
您的提交打败了 7.89% 的提交!
LintCode 1210. 升序子序列(DFS)相关推荐
- 跳棋游戏(求最大升序子序列和)
The game can be played by two or more than two players. It consists of a chessboard(棋盘)and some ches ...
- python升序数_Python求最大升序子序列与最小出现频率最高的数字,急急急!
展开全部 >>> import sys >>> >>> def generateRandomList(size, start=0, stop=10 ...
- LintCode解题目录
看见 LintCode 的代码能力测试CAT(Coding Ability Test)挺好,有倒计时,挺有面试紧迫感.做个记录. 另有本人 LeetCode解题目录.<程序员面试金典>解题 ...
- 2018深信服拼多多秋招笔试真题
网易互娱 处理条件1: 处理5: 处理3,4的同时处理2: 对最后两个字符处理2. 对第3.4个条件的处理: judgeDengcha(int a,b,c){//对第3个条件的处理: if a,b,c ...
- 最长递增子序列 最长连续递增序列
引言 这两道题有很大的相似性,在这里主要的地方就是循环的设置,不仅仅适用于这两道题,在很多类似的题目中都可以用到,要学会相应的方法才行: 最长递增子序列 给你一个整数数组 nums ,找到其中最长严格 ...
- NIOP 1999 导弹问题 最长升降序子序列 DP[小思路]
题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...
- 动态规划(八):子序列系列
一.最长递增子序列(非连续) 300. 最长递增子序列 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度.子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序 ...
- My Ninetieth Page - 最长递增子序列 - By Nicolas
这篇page是针对leetcode上的300.最长递增子序列所写的.小尼先简单的说明一下这道题的意思,给定一个整数数组nums,我们需要找到其中最长严格递增子序列的长度.其中子序列是由数组派生而来的序 ...
- 动态规划——子序列问题——连续?不连续?
动态规划--子序列问题--连续?不连续? 子序列问题是动态规划的一个常考题型,本篇文章主要介绍 子序列(连续)和子序列(不连续)两个问题.连续和不连续指的是子序列是否是连续的,还是说中间是可以有间隔的 ...
最新文章
- 再谈J.D.Ewards历史与现状,JDE人才缺失现状
- $.ajax的type属性,$.ajax中contentType属性为“application/json”和“application/x-www-form-urlencoded”的区别...
- linux给用户赋权限_linux/unix的用户与权限
- [MATLAB调试笔记]Update magnetic field in one step
- 地图上显示div点位
- 下载nodejs的mysql安装包下载安装_Node.js安装 下载
- 在VirtualBox中安装BlackArch Linux
- 您收到一封 2019 阿里云峰会 (北京) 邀请函
- python 获取脚本当前路径_Python获取脚本所在目录的正确方法
- Mysql 中创建数据库并插入数据
- 文件夹选择对话框 JS实现(转)
- 利用Vert.x构建简单的API 服务、分布式服务
- linux系统文件系统个目录介绍,关于linux的文件系统目录详细介绍
- C++ map()和pair()用法
- 个人h5第三方支付接口_个人免签支付接口系统搭建源码多种方式
- UIView延迟效果做出动画/UIView动画块
- VMware View 5.0 策略列表
- java调用百度api完成人脸识别
- jsplacement1.3中文汉化版
- C++ 野指针和悬空指针
热门文章
- 计算机系统遵循,自考《计算机系统结构》第10章精讲
- python变量和常量_python变量与常量内容:
- 裸机中代码书写的细节总结
- jeecms附件标签用法
- 一号团队-团队任务3:每日立会(2018-12-01)
- the params of sys aud mod req msgs from TV
- Newtonsoft.Json 获取匿名类数据
- 6. Nginx + PHP + FastGCI安装
- qq面板(仿版,未完待续中。。。。)---2017-04-24
- 学习微信公众号oauth2.0