Design a Food Rating System | LeetCode

vc7-avatar-img
發佈於LeetCode
更新 發佈閱讀 4 分鐘

題目

https://leetcode.com/problems/design-a-food-rating-system/editorial/?envType=daily-question&envId=2025-09-17

日期

2025/09/17

困惑點

在 LeetCode 的 Swift 語言看起來可以用 swift-collection 的 Heap 。但是不確定是用了哪個版本,用了 removeAll 會報錯說找不到這個方法,但是在 Xcode 裡面卻能夠執行。

程式碼

import Collections

class FoodRatings {

var cuisineHeaps: [String: Heap<Food>] = [:]
var foodToCuisine: [String: String] = [:]
var foodToRating: [String: Int] = [:]

init(_ foods: [String], _ cuisines: [String], _ ratings: [Int]) {
for i in foods.indices {
let ratedFood = Food(food: foods[i], rating: ratings[i])
cuisineHeaps[cuisines[i], default: Heap()].insert(ratedFood)
foodToCuisine[foods[i]] = cuisines[i]
foodToRating[foods[i]] = ratings[i]
}
}

func changeRating(_ food: String, _ newRating: Int) {
guard let cuisine = foodToCuisine[food] else { return }
let ratedFood = Food(food: food, rating: newRating)
cuisineHeaps[cuisine]?.removeAll { $0.food == food }
cuisineHeaps[cuisine]?.insert(ratedFood)
foodToRating[food] = newRating
}

func highestRated(_ cuisine: String) -> String {
cuisineHeaps[cuisine]?.max?.food ?? ""
}

}

struct Food: Comparable {
let food: String
let rating: Int
static func < (lhs: Food, rhs: Food) -> Bool {
if lhs.rating == rhs.rating {
return lhs.food > rhs.food
} else {
return lhs.rating < rhs.rating
}
}
}
留言
avatar-img
留言分享你的想法!
avatar-img
萱寫寫
2會員
18內容數
讀書心得、活動參加心得
萱寫寫的其他內容
2025/09/16
2025/09/16
2025/09/15
2025/09/15
看更多
你可能也想看
Thumbnail
LeetCode 是一個程式語言版的線上題庫平臺,提供題目描述、程式碼區塊、解題者分享的解法和疑問討論。藉由這篇文章分享我在 LeetCode 上的使用經驗和觀點,包括刷題的重要性、解題心態和練習目標。
Thumbnail
LeetCode 是一個程式語言版的線上題庫平臺,提供題目描述、程式碼區塊、解題者分享的解法和疑問討論。藉由這篇文章分享我在 LeetCode 上的使用經驗和觀點,包括刷題的重要性、解題心態和練習目標。
Thumbnail
高中數學主題練習—對數方程式
Thumbnail
高中數學主題練習—對數方程式
Thumbnail
高中數學主題練習—根式化簡
Thumbnail
高中數學主題練習—根式化簡
Thumbnail
Leetcode 精選75題 題目與題解 熱門考點 目錄 (持續更新中) 建議從左側目錄 或者 按Ctrl+F輸入關鍵字進行搜尋
Thumbnail
Leetcode 精選75題 題目與題解 熱門考點 目錄 (持續更新中) 建議從左側目錄 或者 按Ctrl+F輸入關鍵字進行搜尋
Thumbnail
手寫版,有寫錯或看不懂的地方,都可以在底下留言給我。 感謝!
Thumbnail
手寫版,有寫錯或看不懂的地方,都可以在底下留言給我。 感謝!
Thumbnail
放了很多圖片的解答(一直複製貼上好累ㄚ)
Thumbnail
放了很多圖片的解答(一直複製貼上好累ㄚ)
Thumbnail
高中數學主題練習—求等比數列某項與等差級數
Thumbnail
高中數學主題練習—求等比數列某項與等差級數
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News