https://leetcode-cn.com/problems/play-with-chips/
一部のチップはチップ間、数直線上の各アレイチップの現在位置を置い。
あなたは、任意のチップ(0回かもしれ操作の数は無制限)に次の2種類の操作のいずれかを実行できます。
二つのユニットの左右移動にi番目のチップ、コストはゼロです。
i番目のチップ1が左又は右部に移動され、コストは1です。
当初、同じ場所はまた、2つの以上のチップを配置してもよいです。
戻り最小コストが必要と同じ位置(任意の位置)上のすべてのチップを移動させます。
例1:
入力:チップ= [1,2,3]
出力:1つの
説明:第2のチップのコストは1である位置IIIへと移動され、第1のチップのコストを位置IIIへと移動され、合計対価の0、1です。
例2:
入力:チップ= [2,2,2,3,3]
出力:2
説明:二つの位置に移動させ第四及び第五のチップが考慮され、両者の最小の総コスト。
ヒント:
1 <= chips.length <= 100
1 <=チップ[I] <= 10 ^ 9
しようとする鶏料理:
すべてのパリティ状態です我々は数字をカウントする必要がありますのでので、おそらく変換のコストが必要とされていないために偶数と奇数に奇数意味(ミミがヒントを見に行った静かで、このタイトルは少し無知な感じを参照してください。手順の統一最小数)
、ベクトルデータを横断する統計の奇数と偶数の数、2つの部分の小さい方を返します。そして、このアイデアについて感じることによって、これを達成することができます。
1 クラスソリューション{ 2 公共: 3つ のint minCostToMoveChips(ベクトル< INT >・チップ){ 4。 INTのサイズ= chips.size(); 5。 INT A = 0 ; // 偶数 6。 int型 B = 0 ; // 奇数数 7。 ため(INT I = 0 ; I <サイズ; I ++ ){ 8。 IF(チップス[I]%2 == 0 ){ 9。 A ++ 。 10 } 他{ 11 B ++ 。 12 } 13 } 14 リターン A> B?B:; 15 } 16 }。
ワイドでは、安定しました!(希望は、あなたはすぐに強くなり、それ555の小さなヒントの世話をすることができます!)
出典:滞在ボタン(LeetCode)
リンクします。https://leetcode-cn.com/problems/play-with-chips
すべてのネットワークからの控除が著作権を保有。商業転載は、ソースを明記してください許可公式、非商用の転載をご連絡ください。