使用者通過次數 299
使用者嘗試次數 494
通過次數 305
提交次數 985
題目難度 easy
公司計畫面試 2n 人。第 i 人飛往 a 市的費用為 costs[i][0],飛往 b 市的費用為 costs[i][1]。
返回將每個人都飛到某座城市的最低費用,要求每個城市都有 n 人抵達。
示例:輸入:[[10,20],[30,200],[400,50],[30,20]]
輸出:110
解釋:第乙個人去 a 市,費用為 10。
第二個人去 a 市,費用為 30。
第三個人去 b 市,費用為 50。
第四個人去 b 市,費用為 20。
最低總費用為 10 + 30 + 50 + 20 = 110,每個城市都有一半的人在面試。
1 <= costs.length <= 100
costs.length 為偶數
1 <= costs[i][0], costs[i][1] <= 1000
本方案參考自
算出每個人到a、b兩城費用差的絕對值並按此從大到小排列,現將選擇費用差較大的情況選擇費用較小的城市。
class solution(object):
def twocityschedcost(self, costs):
""":type costs: list[list[int]]
:rtype: int
"""costs = sorted(costs, key= lambda x: abs(x[0] - x[1]))
costs = costs[::-1]
a, b = 0, 0
res = 0
n = len(costs) // 2
for i, cost in enumerate(costs):
if cost[0] <= cost[1] and acost[1] and a<=n and b=n:
a += 1
res += cost[0]
else:
b += 1
res += cost[1]
return res
Leetcode 第133場周賽解題報告
今天參加了leetcode的周賽,演算法比賽,要求速度比較快。有思路就立馬啟動,不會糾結是否有更好的方法或 可讀性。只要在演算法複雜度數量級內,基本上是怎麼實現快速就怎麼來了。比賽時先看的第二題,一看題就有了思路,直接用的廣度優先搜尋,寫完提交正確。再一看有人都做了3道題了,應該是職業選手了,要多像...
LeetCode周賽記錄 第196場周賽
2020年7月5日,leetcode第196場周賽個人記錄。第一次參加leetcode周賽,4道題目完成3道,中國排名163,全球排名377。對我個人來說算是個普通成績吧。以後打算每兩周參加一次周賽,同時利用部落格記錄下每次的成績,同時分享一下對於題目的個人想法和感受。給你乙個數字陣列 arr 如果...
Leetcode第130次周賽
第一題 水題 第二題 網上有關於 2進製的公式,就不贅述。下面講一下我自己的解法。用陣列a i 儲存其二進位制 首先對於i 1,3,奇數字進行處理,若奇數字為0,不做處理,若奇數字為1,則向前面的偶數字進1 對於i 0,2,偶數字進行處理時,若偶數字為0,1,均不做處理,若偶數字為2,此時需分兩種情...