?1029. 兩地調(diào)度(Python)

更多精彩內(nèi)容,請關(guān)注【力扣簡單題】

題目

難度:★★☆☆☆
類型:數(shù)學(xué)

公司計劃面試 2N 人。第 i 人飛往 A 市的費用為 costs[i][0],飛往 B 市的費用為 costs[i][1]。

返回將每個人都飛到某座城市的最低費用,要求每個城市都有 N 人抵達(dá)。

提示
1 <= costs.length <= 100
costs.length 為偶數(shù)
1 <= costs[i][0], costs[i][1] <= 1000

示例

輸入:[[10,20],[30,200],[400,50],[30,20]]
輸出:110
解釋:
第一個人去 A 市,費用為 10。
第二個人去 A 市,費用為 30。
第三個人去 B 市,費用為 50。
第四個人去 B 市,費用為 20。

最低總費用為 10 + 30 + 50 + 20 = 110,每個城市都有一半的人在面試。

解答

class Solution:
    def twoCitySchedCost(self, costs):
        costs.sort(key=lambda x: (x[0]-x[1]))  # 計算去A地和去B低的費用差,然后按照費用差排序
        length_costs = len(costs)
        result = 0
        result += sum([i[0] for i in costs[:length_costs//2]])  # 前半部分去A地
        result += sum([i[1] for i in costs[length_costs//2:]])  # 后半部分去B地
        return result

如有疑問或建議,歡迎評論區(qū)留言~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容