go語言題解LeetCode674最長連續(xù)遞增序列
題目描述
給定一個(gè)未經(jīng)排序的整數(shù)數(shù)組,找到最長且 連續(xù)遞增的子序列,并返回該序列的長度。
連續(xù)遞增的子序列 可以由兩個(gè)下標(biāo) l 和 r(l < r)確定,如果對(duì)于每個(gè) l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是連續(xù)遞增子序列。
示例 1:
輸入:nums = [1,3,5,4,7] 輸出:3 解釋:最長連續(xù)遞增序列是 [1,3,5], 長度為3。 盡管 [1,3,5,7] 也是升序的子序列, 但它不是連續(xù)的,因?yàn)?5 和 7 在原數(shù)組里被 4 隔開。
示例 2:
輸入:nums = [2,2,2,2,2] 輸出:1 解釋:最長連續(xù)遞增序列是 [2], 長度為1。
提示:
1 <= nums.length <= 10^4
-10^9 <= nums[i] <= 10^9
思路分析
一次遍歷:
維護(hù)一個(gè)記錄當(dāng)前遞增的長度的數(shù)值:temp = 1,因?yàn)樽钌俚倪f增長度也為 1
更新temp:
- 當(dāng)前數(shù)值 大于 之前的數(shù)值時(shí), 為遞增序列,temp = temp + 1
- 當(dāng)前數(shù)值 小于或等于 之前的數(shù)值時(shí),將 temp 歸入到結(jié)果列表中,重置 temp = 1
當(dāng)結(jié)束時(shí),將最后的 temp 歸入到結(jié)果列表中
返回結(jié)果列表中最大的值。
當(dāng)然也可以不使用列表存儲(chǔ),只需要再重置 temp 之前,比較當(dāng)前的 temp 和 最大的 temp_max,然后更新 temp_max 即可。使用 列表更加有助于理解。
AC 代碼
class Solution:
def findLengthOfLCIS(self, nums: List[int]) -> int:
rev = []
ln = len(nums)
if ln == 0 or ln == 1:
return ln
temp = 1
for i in range(1, ln):
if nums[i]>nums[i-1]:
temp += 1
else:
rev.append(temp)
temp = 1
rev.append(temp)
return max(rev)
不使用列表:
class Solution:
def findLengthOfLCIS(self, nums: List[int]) -> int:
rev = 0
ln = len(nums)
if ln == 0 or ln == 1:
return ln
temp = 1
for i in range(1, ln):
if nums[i]>nums[i-1]:
temp += 1
else:
rev = temp if temp > rev else rev
temp = 1
rev = temp if temp > rev else rev
return rev
參考
畫解算法:674. 最長連續(xù)遞增序列 - 最長連續(xù)遞增序列 - 力扣(LeetCode) (leetcode-cn.com)
以上就是go語言題解LeetCode674最長連續(xù)遞增序列的詳細(xì)內(nèi)容,更多關(guān)于go題解最長連續(xù)遞增序列的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Go?Web開發(fā)之Gin多服務(wù)配置及優(yōu)雅關(guān)閉平滑重啟實(shí)現(xiàn)方法
這篇文章主要為大家介紹了Go?Web開發(fā)之Gin多服務(wù)配置及優(yōu)雅關(guān)閉平滑重啟實(shí)現(xiàn)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Go實(shí)現(xiàn)數(shù)據(jù)脫敏的方案設(shè)計(jì)
在一些常見的業(yè)務(wù)場景中可能涉及到用戶的手機(jī)號(hào),銀行卡號(hào)等敏感數(shù)據(jù),對(duì)于這部分的數(shù)據(jù)經(jīng)常需要進(jìn)行數(shù)據(jù)脫敏處理,就是將此部分?jǐn)?shù)據(jù)隱私化,防止數(shù)據(jù)泄露,所以本文給大家介紹了Go實(shí)現(xiàn)數(shù)據(jù)脫敏的方案設(shè)計(jì),需要的朋友可以參考下2024-05-05
Golang實(shí)現(xiàn)四層負(fù)載均衡的示例代碼
做開發(fā)的同學(xué)應(yīng)該經(jīng)常聽到過負(fù)載均衡的概念,今天我們就來實(shí)現(xiàn)一個(gè)乞丐版的四層負(fù)載均衡,并用它對(duì)mysql進(jìn)行負(fù)載均衡測試,感興趣的可以了解一下2023-07-07
通過函數(shù)如何將golang?float64?保留2位小數(shù)(方法匯總)
這篇文章主要介紹了通過函數(shù)將golang?float64保留2位小數(shù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08
golang實(shí)現(xiàn)ip訪問限制及提交次數(shù)
在?Web?應(yīng)用中,通常會(huì)需要對(duì)?IP?訪問進(jìn)行限制以及控制提交次數(shù),本文將使用中間件或者基于?Redis?這樣的緩存服務(wù)來實(shí)現(xiàn),感興趣的可以了解下2024-10-10
優(yōu)雅使用GoFrame共享變量Context示例詳解
這篇文章主要為大家介紹了優(yōu)雅使用GoFrame共享變量Context示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06

