?1029.両地スケジューリング(Python)

848 ワード

もっと素晴らしい内容は、「力ボタンの簡単な問題」に注目してください.
タイトル
難易度:★☆☆☆タイプ:数学
会社は2 N人を面接する予定です.i人目のA市行きはcosts[i][0]、B市行きはcosts[i][1].
一人一人をある都市に飛ばす最低費用を返し、各都市にN人が到着するように要求した.
ヒント1<=costs.length <= 100 costs.lengthは偶数1<=costs[i][0]、costs[i][1]=1000

入力:[[10,20],[2020],[400,50],[30,20]]出力:110解釈:最初の人はA市に行って、費用は10です.2人目はA市に行き、料金は30です.3人目はB市に行き、料金は50です.4人目は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

質問やアドバイスがあれば、コメントエリアへようこそ~