一個透過 Python 找到最長連續序列長度的程式
假設我們有一個無序的數字陣列,我們必須找到連續元素的最長序列長度。
因此,如果輸入類似於 nums = [70, 7, 50, 4, 6, 5],則輸出將為 4,因為連續元素的最長序列是 [4, 5, 6, 7]。因此,我們返回其長度:4。
為了解決這個問題,我們將遵循以下步驟 −
nums := nums 的所有唯一元素
max_cnt := 0
對於 nums 中的每個 num,執行以下操作:
如果 num - 1 不在 nums 中,則
cnt := 0
當 num 存在於 nums 中時,執行以下操作:
num := num + 1
cnt := cnt + 1
max_cnt := max_cnt 和 cnt 的最大值
返回 max_cnt
讓我們看看以下實現以獲得更好的理解 −
示例
class Solution: def solve(self, nums): nums = set(nums) max_cnt = 0 for num in nums: if num - 1 not in nums: cnt = 0 while num in nums: num += 1 cnt += 1 max_cnt = max(max_cnt, cnt) return max_cnt ob = Solution() nums = [70, 7, 50, 4, 6, 5] print(ob.solve(nums))
輸入
[70, 7, 50, 4, 6, 5]
輸出
4
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP