前往
大廳
主題

LeetCode - 674. Longest Continuous Increasing Subsequence 解題心得

Not In My Back Yard | 2020-12-18 00:00:06 | 巴幣 0 | 人氣 182

題目連結:


題目意譯:
給定一個未排序的整數陣列 nums , 回傳最長連續遞增子序列(這邊等同於子陣列)之長度。該子序列必須為嚴格遞增。

一個連續遞增子序列定義為有兩個索引值 l 和 r (l < r)代表著 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] ,其滿足 nums[i] < nums[i + 1] (l ≦ i < r)。

限制:
0 ≦ nums.length ≦ 10 ^ 4
-10 ^ 9 ≦ nums[i] ≦ 10 ^ 9



範例測資:
範例 1:
輸入: nums = [1,3,5,4,7]
輸出: 3
解釋: 最長連續遞增子序列為 [1,3,5] ,其長度為 3 。儘管 [1,3,5,7] 是一個遞增子序列,但其並非連續因為 5 跟 7 中間隔著令一元素 4 。

範例 2:
輸入: nums = [2,2,2,2,2]
輸出: 1
解釋: 最長連續遞增子序列為 [2],其長度為 1。注意連續子序列應為嚴格遞增。



解題思維:
如果你會統計一個字串中最長的連續字元有多長,如此題。則本題就只是把原本的判斷當前字元有沒有跟前一個字元相等變成判斷當前的數字有沒有大於前一個數字而已。

剩下的部分基本一樣,然後從中取出最長的序列之長度即是所求。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作