Kotlin 與 Swift 語法對照:跨平台開發者 (2025年)

Kotlin 與 Swift 語法對照表(2025 年版) 在行動應用開發中, Kotlin 與 Swift 分別是 Android 與 iOS 的主流語言。雖然語法有些差異,但其實它們有很多相似之處。本文整理了常用的語法對照表,方便跨平台開發者快速上手。 1. 變數宣告 // Kotlin val name: String = "Alice" // 常數 var age: Int = 25 // 可變數 // Swift let name: String = "Alice" // 常數 var age: Int = 25 // 可變數 2. 條件判斷 // Kotlin if (age >= 18) { println("Adult") } else { println("Minor") } // Swift if age >= 18 { print("Adult") } else { print("Minor") } 3. 函式定義 // Kotlin fun greet(name: String): String { return "Hello, $name!" } // Swift func greet(_ name: String) -> String { return "Hello, \(name)!" } 4. 陣列與迴圈 // Kotlin val fruits = listOf("Apple", "Banana", "Cherry") for (fruit in fruits) { println(fruit) } // Swift let fruits = ["Apple", "Banana", "Cherry"] for fruit in fruits { print(f...

[Java] UVa 10130 SuperSale

題目連結

題意:
一家人逛超市
給定 N 種物品的價格與重量
還有 G 個人各自的負重上限
物品沒有購買數量上限
每個人每種物品只能買一個
求可以買到的物品最大的總價值

如:
3
6 3
8 4
10 5
2
10
12

N=3 / G=2
有 3 件物品(價/重)
2 個人,負重上限為 10, 12

第 1 個人買後兩者(總價最大)
第 2 個人買全部
總價 (8+10) + (6+8+10) = 42

解法:
典型的 0/1 背包問題 (0/1 knapsack problem)
也就是在負重上限前提下
選擇價值最高的物品組合

0/1是指物品只能要或不要
(若沒有 0/1 就是物品可以要 小於 1 份)

觀察題意可以發現
每個人的情況彼此互不影響
也就是各自進行 0/1 背包問題後加總即可

題目規定背包容量上限只有 30
所以可以預先建表(很小)
計算 1 ~ 30 各重量的最大價值
最後直接得解加總

程式(Java):

留言

這個網誌中的熱門文章

【Ubuntu】Terminal 複製貼上的方法 Copy & Paste

【Ubuntu】關閉預設畫面自動鎖定

[Java] HashMap資料結構簡介與用法