LeetCode 陣列的遍歷(414 第三大的數)

2021-10-24 20:46:42 字數 584 閱讀 7221

給定乙個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是o(n)。

示例:思路:

因為陣列是非空的,所以暫時分為3種情況

陣列中只有1個元素,那就直接返回

陣列中有兩個元素,返回2個中比較大的那個數

陣列有3及以上的元素

針對第三種情況呢,我是直接定義三個變數來直接記錄第一大、第二大、第三大的值。

然後迴圈陣列

通過條件判斷來記錄這三個值,最後做相應的返回。

class

solution

else

if(nums[i]

>secondmax)

else

if(nums[i]

>thirdmax)

}return thirdmax!=long.min_value?

newlong

(thirdmax)

.intvalue()

:new

long

(firstmax)

.intvalue()

;}}

題目鏈結

Leetcode刷題指南 最大子陣列 41

2 補充知識 3 思路 4 要求 給定乙個整數陣列,找到乙個具有最大和的子陣列,返回其最大和。樣例 輸入 2,2,3,4,1,2,1,5,3 輸出 6 解釋 符合要求的子陣列為 4,1,2,1 其最大和為 6。注意事項 子陣列最少包含乙個數 有關最大子陣列的求解問題 演算法導論 最大子陣列問題 關於...

41 最大子陣列

4.19 1 最開始想到的就是用很暴力的演算法,從第乙個數開始算。一直到最後乙個,毫無疑問時間複雜度的是n 2。但是沒想到居然過了耶。public class solution if nums.length 1 int length nums.length int max nums 0 for in...

41 最大子陣列

原題 給定乙個整數陣列,找到乙個具有最大和的子陣列,返回其最大和。注意事項 子陣列最少包含乙個數 樣例 給出陣列 2,2,3,4,1,2,1,5,3 符合要求的子陣列為 4,1,2,1 其最大和為6 挑戰 要求時間複雜度為o n 標籤 貪心領英 陣列子陣列 列舉法1 include 2 includ...