最经典单串:

300. 最长上升子序列 (LIS) https://leetcode-cn.com/problems/longest-increasing-subsequence/submissions/

//GO

//经典DP 线性DP
//dp[i] 那么 nums[i] 必然要大于 nums[j],才能将 nums[i] 放在nums[j] 后面以形成更长的上升子序列。
func lengthOfLIS(nums []int) int {
if len(nums) <= 1{
return len(nums)
}
var res int
dp := make([]int,len(nums))
dp[0] = 1
//d[0] = nums[0]
for i:=1;i<len(nums);i++{
m := 0
for j:=i-1;j>=0;j--{
if dp[j] > m && nums[j]<nums[i]{
m = dp[j]
}
}
dp[i] = m+1
res = MAX(dp[i],res)
//d[i] = nums[i]
}
return res
} func MAX(i,j int) int{
if i<j{
return j
}else{
return i
}
}

  

法二:直接求出最长子串 CPP

class Solution {
public:
//最长递增子序列
int lengthOfLIS(vector<int>& nums) {
vector<int> res;
for(int i=0;i<nums.size();i++){
if(res.size() ==0 || nums[i] > res.back()){
res.push_back(nums[i]);
continue;
}
int left=0,right=res.size()-1;
while(left<=right){
//找第一个大于等于nums[i]的数,在之前插入
int mid=left+(right-left)/2;
if(nums[i]<= res[mid]) right = mid-1;
else left=mid+1;
}
res[left] = nums[i];
}
return res.size();
}
};

最新文章

  1. 通过手动创建统计信息优化sql查询性能案例
  2. Enterprise Solution 2.3
  3. MiZ702学习笔记12&mdash;&mdash;封装一个普通的VGA IP
  4. php使用mysql_query查询超大结果集超内存的解决方法
  5. php 数组Array 删除指定键名值
  6. Connection for controluser as defined in your configuration failed.
  7. 如何设置一个activity透明
  8. JMeter基础教程2:正则表达式使用
  9. 拿到6个重磅offer的大神,超详细面试经验总结
  10. IDEA_教你十分钟下载并破解IntelliJ IDEA(2017)(转)
  11. Baidu WebUploader 前端文件上传组件的使用
  12. Linq多表联合查询,在View中绑定数据
  13. 记第十四届省赛参赛体会&amp;第十三届
  14. GIT版本控制工具总结
  15. java 7 升级后,控制面板里找不到java图标了
  16. Android 控件: Webview 的一些知识点
  17. Action Bar
  18. HDU 2516 取石子游戏(斐波那契)
  19. maven 编译解决jdk 版本问题
  20. 什么是事件代理?DOM2.0标准事件模型的三个阶段

热门文章

  1. OpenCV开发笔记(七十):红胖子带你傻瓜式编译VS2017x64版本的openCV4
  2. day21 Pyhton学习 模块
  3. 【不知道怎么分类】CF 819B Mister B and PR Shifts
  4. git reset 与 git revert的区别?
  5. git 撤销push到远程仓库的无用commit
  6. dhtmlxSpreadSheet开源电子表格小部件创建教程
  7. 【Azure 环境】连接到微软云Azure中国区 By VS 2019, VS Code, Powershell
  8. [String] intern()方法
  9. [SuProxy]Ngnix+Lua 实现SSH2,LDAP,ORACLE,SQLSERVER等TCP/IP协议分析,劫持,代理,会话及负载
  10. 单片机串口通信电平不匹配的解决电路,5V 3.3V串口通讯