ブラッシングの質問を記録する-(leetcode-1029 2つの場所の間のスケジューリング)

トピック:同社は2N人にインタビューする予定です。i番目の人が都市Aに飛ぶためのコストはコスト[i] [0]であり、都市Bに飛ぶためのコストはコスト[i] [1]です。
全員を特定の都市に飛ばす最小コストに戻るには、各都市にN人が到着する必要があります。
例:
入力:[[10,20]、[30,200]、[400,50]、[30,20]]
出力:110
説明:
最初の人は都市Aに行き、費用は10です。
2人目は30の費用で都市Aに行きます。
3人目は50の費用で都市Bに行きます。
4人目は20の費用で都市Bに行きます。
最小総費用は10+ 30 + 50 + 20 = 110であり、各都市の半分の人が面接を行っています。
出典:LeetCode
リンク:https ://leetcode-cn.com/problems/two-city-scheduling
著作権はLeetCodeが所有しています商用の再版については、公式の承認に連絡してください。非商用の再版については、出典を示してください。

コード:

int twoCitySchedCost(int** costs, int costsSize, int* costsColSize){
    
    
        int temp[costsSize],sum=0;
        for(int i=0;i<costsSize;i++){
    
    
            sum+=costs[i][0];
        }
        for(int i=0;i<costsSize;i++){
    
    
            temp[i]=costs[i][0]-costs[i][1];
        }
        for(int i=0;i<costsSize-1;i++){
    
    
            for(int j=0;j<costsSize-i-1;j++){
    
    
                if(temp[j]>temp[j+1]){
    
    
                    int tem=temp[j];
                    temp[j]=temp[j+1];
                    temp[j+1]=tem;
                }
            }
        }
        for(int i=costsSize/2;i<costsSize;i++){
    
    
            sum-=temp[i];
        }
        return sum;
}

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/lthahaha/article/details/106532899