演算法面試通關40講 23 面試題 求眾數

2021-09-27 21:25:15 字數 1077 閱讀 3168

給定乙個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列**現次數大於 ⌊ n/2 ⌋ 的元素。

你可以假設陣列是非空的,並且給定的陣列總是存在眾數。

示例 1:

輸入: [3,2,3]

輸出: 3

示例 2:

輸入: [2,2,1,1,1,2,2]

輸出: 2

sorting

class

solution

}

class

solution

:def

majorityelement

(self, nums: list[

int])-

>

int:

return

sorted

(nums)

[len

(nums)//2

]

hashtable

class

solution

else

if(mp.

get(num)

>

(nums.length/2)

)}return res;

}}

class

solution

:def

majorityelement

(self, nums: list[

int])-

>

int:

mp =

res =

0for num in nums:

ifnot num in mp:

mp[num]=1

else

: mp[num]+=1

if mp[num]

>

len(nums)//2

: res = num

break

return res

演算法面試通關40講 45 面試題 爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1.1 階 1 階 2.2 階示例 2 輸入 3 輸出 3 解釋 有三種方法可以爬到樓頂。1....

演算法面試通關40講總結

昨日,我看完了演算法面試40講,這門課程的學習一直斷斷續續。費了九牛二虎之力,在不斷回溯和反覆當中,結束了這一門課程。演算法是解決問題的方法,特別是計算機解決問題的方法。廣義上,演算法就是指人們處理問題的思路,而在計算機裡,便是乙個個解決實際問題的思路的抽象概括。各個資料結構也是對演算法的輔助。演算...

演算法面試題

1 兩個有序的陣列求中位數 時間複雜度o log n m 這個演算法有一定的缺陷,僅做參考 2 如何解決hash衝突 3 調整陣列順序使奇數字於偶數前面 void reorderoddeven int pdata,unsigned int length 4 鍊錶中倒數第k個節點 listnode f...