給定乙個未排序的陣列,判斷這個陣列中是否存在長度為 3 的遞增子串行。
數學表示式如下:
如果存在這樣的 i, j, k, 且滿足 0 ≤ i < j < k ≤ n-1,
使得 arr[i] < arr[j] < arr[k] ,返回 true ; 否則返回 false 。
說明:要求演算法的時間複雜度為 o(n),空間複雜度為 o(1) 。
示例 1:
輸入: [1,2,3,4,5]示例 2:輸出: true
輸入: [5,4,3,2,1]用r1和r2分別記錄當前第一小和第二小的數字,設當前遍歷的數字為n。輸出: false
class solution:
def increasingtriplet(self, nums: list[int]) -> bool:
l = len(nums)
if l<3:
return false
r1 = nums[0]
r2 = float('inf')
for i in nums[1:]:
if ir1 and ir2:
return true
return false
LeetCode筆記 89格雷編碼
題目 格雷編碼是乙個二進位制數字系統,在該系統中,兩個連續的數值僅有乙個位數的差異。給定乙個代表編碼總位數的非負整數n,列印其格雷編碼序列。格雷編碼序列必須以 0 開頭。示例 1 輸入 2輸出 0,1,3,2 解釋 00 0 01 1 11 3 10 2 對於給定的 n,其格雷編碼序列並不唯一。例如...
Leetcode刷題筆記 738 單調遞增的數字
題目 給定乙個非負整數 n,找出小於或等於 n 的最大的整數,同時這個整數需要滿足其各個位數上的數字是單調遞增。當且僅當每個相鄰位數上的數字 x 和 y 滿足 x y 時,我們稱這個整數是單調遞增的。示例 1 輸入 n 10 輸出 9 示例 2 輸入 n 1234 輸出 1234 示例 3 輸入 n...
Leetcode 單調遞增的數字
給定乙個非負整數 n,找出小於或等於 n 的最大的整數,同時這個整數需要滿足其各個位數上的數字是單調遞增。當且僅當每個相鄰位數上的數字 x 和 y 滿足 x y 時,我們稱這個整數是單調遞增的。由於該數的組成是單調遞增的,所以,但我們檢索到乙個不單調的數字組合的時候,說明最高位一定比下一位要大。這個...