給定乙個未排序的陣列,判斷這個陣列中是否存在長度為 3 的遞增子串行。
數學表示式如下:
如果存在這樣的說明:要求演算法的時間複雜度為 o(n),空間複雜度為 o(1) 。i, j, k, 且滿足 0 ≤ ij
k ≤
n-1,
使得 arr[i]
arr[j]
arr[k] ,返回 true ; 否則返回 false 。
示例 1:
輸入:[1,2,3,4,5]輸出:true示例 2:
輸入:[5,4,3,2,1]輸出:false解題思路:
邏輯題。
找到乙個遞增數num[pos],例如,[5,4,3,4,5,6,]中第4個數4就是第乙個遞增數。
第乙個遞增數的前面必然是當前遇到的最小數。如果不是那麼nums[pos-1]才是第乙個遞增數。如果連遞增數都沒有,就不可能有三連遞增。
這裡我們確定了二元遞增的兩個數,nums[left],nums[right],其中left=pos-1,right=pos。以及最小數的位置temp,一開始nums[temp]=nums[pos-1]。
隨後接著訪問pos+1,nums[pos+1]需要根據數值de得大小分類處理。
重複上述步驟直到訪問所有元素。
遞增三元子串行LeetCode334
題目 給定乙個未排序的陣列,判斷這個陣列中是否存在長度為 3 的遞增子串行.數學表示式如下 如果存在這樣的 i,j,k,且滿足 0 i j k n 1,使得 arr i arr j arr k 返回 true 否則返回 false 說明 要求演算法的時間複雜度為 o n 空間複雜度為 o 1 分析 ...
LeetCode 334 遞增的三元子串行
給定乙個未排序的陣列,判斷這個陣列中是否存在長度為 3 的遞增子串行。數學表示式如下 如果存在這樣的 i,j,k,且滿足 0 i j k n 1,使得 arr i arr j arr k 返回 true 否則返回 false 說明 要求演算法的時間複雜度為 o n 空間複雜度為 o 1 示例 1 輸...
leetcode334 遞增的三元子串行
給定乙個未排序的陣列,判斷這個陣列中是否存在長度為 3 的遞增子串行。數學表示式如下 如果存在這樣的 i,j,k,且滿足 0 i j k n 1,使得 arr i arr j arr k 返回 true 否則返回 false 說明 要求演算法的時間複雜度為 o n 空間複雜度為 o 1 示例 1 輸...