iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0
Mobile Development

30天用 Swift 解 LeetCode 問題系列 第 17

Day 17 - 169. Majority Element - 解法與複雜度分析 - LeetCode in Swift

  • 分享至 

  • xImage
  •  

基本資訊

解說

// 後補

程式碼

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
    }
}

執行結果

  • Runtime: 89 ms (Beats 77.13%)
  • Memory: 15.0 MB (Beats 29.82%)

複雜度分析

陣列的大小為 n

Big O 說明
時間複雜度 O(n) 線性走訪
空間複雜度 O(n) 宣告的變數在最差情況會使用到 n 的空間

上一篇
Day 16 - 448. Find All Numbers Disappeared in an Array - 解法與複雜度分析 - LeetCode in Swift
下一篇
Day 18 - 1323. Maximum 69 Number - 解法與複雜度分析 - LeetCode in Swift
系列文
30天用 Swift 解 LeetCode 問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言