Leetcode 334 遞增的三元子串行

2021-09-02 07:53:44 字數 1234 閱讀 2912

給定乙個未排序的陣列,判斷這個陣列中是否存在長度為 3 的遞增子串行。

數學表示式如下:

如果存在這樣的 

i, j, k,  且滿足 0 ≤ ij

k ≤ 

n-1,

使得 arr[i]

arr[j]

arr[k] ,返回 true ; 否則返回 false 。

說明:要求演算法的時間複雜度為 o(n),空間複雜度為 o(1) 。

示例 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 輸...