LeetCode-674. Longest Continuous Increasing Subsequence
来源:互联网 发布:网络诽谤案例分析 编辑:程序博客网 时间:2024/05/01 00:27
Description:
Example 1:
Example 2:
Note:
Solution1 (C++):
Solution2 (C++):
Solution3 (C++):
算法分析:
解法一:我采用了动态规划的方法,通过迭代来解决这道题。很显然,解法一中存在许多重复计算,而且,就单说这道题目,完全没有必要这么做。其实还有更加简便的方法。
解法二:这个解法相比解法一舍弃了一些这道题中不需要考虑的问题。比如说只关注最大值max为多少,并不用关心是在哪个元素取到的。此外还需要强调一点的就是对于多种判断条件的整合。在解法一我是将各种条件分的很开,虽然在写程序的时候可以按照思路一步步写,但实际最终的代码结果过于复杂。而通过我们进一步的思考,可以发现i=0与nums[i]<=nums[i-1]的情况是一样的:递增连续数列都会中断。所以,直接让len=0.然后len++表示当前元素所在的递增连续数列的长度。并于max比较,取最大值即可解题。
解法三:这个解法也比较常用,双指针法。设定两个指针i与j。i刚开始等于0,j也是,但是j会不断加1,相当于i刚开始在数列最开始定住,j不断向后移动。当j遍历的元素都是递增,那么就让len保持+1.并且不断与max比较,将较大者作为新的max。如果不是,即j=0或者,j出现了递减元素。那么就让i=j。j继续向后移动,但这时候len=0.此外,这个程序中巧妙的一点就是,利用j-i+1来作为len的值。确实。这还是整合了。使得程序变得紧凑巧妙。
程序分析:
说一个bug。在我的解法一中。子函数传递参数时,子函数形参设定的是int& i.然后在实现中调用子函数需要重新传入i-1。我刚开始写的是curlengthCIS(nums,.len,i-1)。这样报错了。因为传入的是i-1.与形参格式不符合。应该int m=i-1.然后传入m即可。
阅读全文
0 0
- LeetCode 674. Longest Continuous Increasing Subsequence
- leetcode 674. Longest Continuous Increasing Subsequence
- leetcode 674. Longest Continuous Increasing Subsequence
- LeetCode 674. Longest Continuous Increasing Subsequence
- LeetCode 674. Longest Continuous Increasing Subsequence
- LeetCode 674.Longest Continuous Increasing Subsequence
- LeetCode-674. Longest Continuous Increasing Subsequence
- leetCode-Longest Continuous Increasing Subsequence
- 674. Longest Continuous Increasing Subsequence
- 674. Longest Continuous Increasing Subsequence
- 674. Longest Continuous Increasing Subsequence
- 674. Longest Continuous Increasing Subsequence
- 674. Longest Continuous Increasing Subsequence
- 674. Longest Continuous Increasing Subsequence
- 674. Longest Continuous Increasing Subsequence
- 【菜鸟的leetcode之旅】674. Longest Continuous Increasing Subsequence
- leetcode 674. Longest Continuous Increasing Subsequence 最长连续递增序列
- LeetCode-Easy-Java-Longest Continuous Increasing Subsequence
- 面向对象三大基本特性,五大基本原则
- 三星Bixby和苹果Siri大比拼 这两个东西真的有用吗?
- 新浪博客另类截流玩法
- 1019. 数字黑洞 (20)
- PyTorch的concat也就是torch.cat实例
- LeetCode-674. Longest Continuous Increasing Subsequence
- 价值投资,变幻莫测
- 代理模式
- tensorflo读取数据之dataset
- eclipse+maven+selenium 如何启动谷歌浏览器
- 超级书架
- java、Data类
- C++函数的数组形参
- idea error:java: 无效的源发行版: 8