iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
Mobile Development

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

Day 16 - 448. Find All Numbers Disappeared in an Array - 解法與複雜度分析 - LeetCode in Swift

  • 分享至 

  • xImage
  •  

基本資訊

解說

// 後補

程式碼

class Solution {
    func findDisappearedNumbers(_ nums: [Int]) -> [Int] {
        guard !nums.isEmpty else { return [] }
        var set = Set(nums)
        var results = [Int]()

        for num in 1...nums.count {
            if !set.contains(num) {
                results.append(num)
            }
        }
        
        return results
    }
}

執行結果

  • Runtime: 246 ms (Beats 52.03%)
  • Memory: 16.66 MB (Beats 22.97%)

複雜度分析

陣列的大小為 n

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

上一篇
Day 15 - 2455. Average Value of Even Numbers That Are Divisible by Three - 解法與複雜度分析
下一篇
Day 17 - 169. Majority Element - 解法與複雜度分析 - LeetCode in Swift
系列文
30天用 Swift 解 LeetCode 問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言