給予一個陣列,找出其中的主要元素。
主要元素的定義是,出現次數為 n/2 次,而這個主要元素必然會存在。
class Solution {
func majorityElement(_ nums: [Int]) -> Int {
var map = [Int: Int]()
for num in nums {
let count = (map[num] ?? 0) + 1
if count > (nums.count / 2) {
return num
}
map[num] = count
}
return -1
}
}
令 n 為陣列的長度
Big O | 說明 | |
---|---|---|
時間複雜度 | O(n) | 線性走訪 |
空間複雜度 | O(n) | Hash table |
以上,就是今天的 LeetCode in Swift ,
如果有什麼問題和回饋歡迎留言一起討論,今天就到這裡,明天見!