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
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
LeetCode 是一個程式語言版的線上題庫平臺,提供題目描述、程式碼區塊、解題者分享的解法和疑問討論。藉由這篇文章分享我在 LeetCode 上的使用經驗和觀點,包括刷題的重要性、解題心態和練習目標。
Thumbnail
LeetCode 是一個程式語言版的線上題庫平臺,提供題目描述、程式碼區塊、解題者分享的解法和疑問討論。藉由這篇文章分享我在 LeetCode 上的使用經驗和觀點,包括刷題的重要性、解題心態和練習目標。
Thumbnail
高中數學主題練習—對數方程式
Thumbnail
高中數學主題練習—對數方程式
Thumbnail
高中數學主題練習—根式化簡
Thumbnail
高中數學主題練習—根式化簡
Thumbnail
Leetcode 精選75題 題目與題解 熱門考點 目錄 (持續更新中) 建議從左側目錄 或者 按Ctrl+F輸入關鍵字進行搜尋
Thumbnail
Leetcode 精選75題 題目與題解 熱門考點 目錄 (持續更新中) 建議從左側目錄 或者 按Ctrl+F輸入關鍵字進行搜尋
Thumbnail
手寫版,有寫錯或看不懂的地方,都可以在底下留言給我。 感謝!
Thumbnail
手寫版,有寫錯或看不懂的地方,都可以在底下留言給我。 感謝!
Thumbnail
放了很多圖片的解答(一直複製貼上好累ㄚ)
Thumbnail
放了很多圖片的解答(一直複製貼上好累ㄚ)
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News