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 這種方...