題目:
給定乙個未經排序的整數陣列,找到最長且連續遞增的子串行,並返回該序列的長度。
連續遞增的子串行 可以由兩個下標 l 和 r(l < r)確定,如果對於每個 l <= i < r,都有 nums[i] < nums[i + 1] ,那麼子串行 [nums[l], nums[l + 1], …, nums[r - 1], nums[r]] 就是連續遞增子串行。
示例 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。
0 <= nums.length <= 104
-109 <= nums[i] <= 109
思路:
設定指標x,y,for迴圈判斷陣列當前索引值與後一位索引值大小,若當前位小於後一位,則y++(y相當於當前連續遞增子串行的長度,因此一開始=0),math.max(x,y)方法返回兩數中的最大值給x(x用於儲存目前為止序列中的最長子序列長度)。若當前位大於後一位,則遞增中斷,判斷此時子串行長度與之前x中存入的哪個大,把較大的數賦值給x,然後y從1開始計算下乙個子串行長度,最終迴圈完畢返回x。
執行後發現如果陣列中只有乙個元素無法比較,會返回錯誤的值所以增加判斷:
if
(nums.length==1)
**實現:
class
solution
for(
int i=
0;i1;i++
)else
}return x;
}}
最長連續遞增序列001
2 思路 3 notes 4 複雜度 5 code 674給定乙個未經排序的整數陣列,找到最長且連續的的遞增序列,並返回該序列的長度 輸入 1,3,5,4,7 輸出 3 解釋 最長連續遞增序列是 1,3,5 長度為3。儘管 1,3,5,7 也是公升序的子串行,但它不是連續的,因為5和7在原陣列裡被4...
674 最長連續遞增序列
題目描述 給定乙個未經排序的整數陣列,找到最長且連續的的遞增序列,並返回該序列的長度。示例 1 輸入 1,3,5,4,7 輸出 3 解釋 最長連續遞增序列是 1,3,5 長度為3。儘管 1,3,5,7 也是公升序的子串行,但它不是連續的,因為5和7在原陣列裡被4隔開。示例 2 輸入 2,2,2,2,...
674 最長連續遞增序列
一 題目描述 給定乙個未經排序的整數陣列,找到最長且 連續遞增的子串行,並返回該序列的長度。連續遞增的子串行 可以由兩個下標 l 和 r l r 確定,如果對於每個 l i r,都有 nums i nums i 1 那麼子串行 nums l nums l 1 nums r 1 nums r 就是連續...