力扣169題 多數元素

2021-10-17 08:58:55 字數 922 閱讀 4494

leetcode刷題筆記

給定乙個大小為 n 的陣列,找到其中的多數元素。多數元素是指在陣列**

現次數 大於 ⌊ n/2 ⌋ 的元素。

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

示例1輸入:[3,2,3]

輸出:3

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

輸出:2

題目上說給定的陣列總是存在多數元素,說明這個元素是一定會存在的,按照數學的思維的話,那可以理解我們平常所說的眾數。因為眾數是最多的。那我們可以往眾數這個方向的思路去尋找

/*

* 排序

* 用到陣列的工具類排序方法

* time o(nlogn)

* space o(logn)

*/public

static

intmajorityelement1

(int

nums)

/*

* 雜湊表

* time o(n)

* space o(n)

*/public

static

intmajorityelement2

(int

nums)

else

if(map.

get(nums[i]

)> nums.length >>1)

}return nums[current ]

;}

public

static

intmajorityelement3

(int

nums)

else

}return stack.

peek()

;}

多數元素(力扣169題)

題目 給定乙個大小為 n 的陣列,找到其中的多數元素。多數元素是指在陣列 現次數大於 n 2 的元素。你可以假設陣列是非空的,並且給定的陣列總是存在多數元素。分析 1 多數元素即在一組數 現次數大於 n 2 的元素 2 多數元素在這個陣列中一定存在 這兩個條件就決定了這種多數元素一定只可能是一種數,...

力扣169 多數元素

給定乙個大小為 n 的陣列,找到其中的多數元素。多數元素是指在陣列 現次數大於 n 2 的元素。可以假設陣列不為空,並且一定存在多數元素 示例 示例 1 輸入 3,2,3 輸出 3 示例 2 輸入 2,2,1,1,1,2,2 輸出 2 解題思路 如果乙個陣列中有有乙個數大於陣列元素的一半,那麼那這個...

力扣解題思路 169 多數元素

思路 給定乙個大小為 n 的陣列,找到其中的多數元素。多數元素是指在陣列 現次數大於 n 2 的元素。你可以假設陣列是非空的,並且給定的陣列總是存在多數元素。首先最直觀的方法就是先排序,最中間那個數出現次數一定多於 n 2。public intmajorityelement int nums 這種方...