そこにいくつかのチップがあり、i番目のチップが位置にあります chips[i]
。
あなたは、任意のチップ上の任意の回数(多分ゼロ)移動の2次のタイプのいずれかを実行できます。
- 移動
i
0のコストで左右に2個の単位だけ番目のチップ。 - 移動
i
1のコストで左または右に1個の単位で番目チップ。
当初は同じ位置に2つの以上のチップが存在する場合があります。
同じ位置(任意の位置)にすべてのチップを動かすのに必要な最小のコストを返します。
例1:
入力:チップ= [1,2,3] 出力:1 説明:第2のチップは、コスト1と位置決幅3に移動する第1のチップは、コスト0総コストで位置3に移動されますが1です。
例2:
入力:チップ= [2,2,2,3,3] 出力:2 説明:両方の第四及び第五のチップは2になりコスト1.合計の最小コストで位置2に移動されます。
制約:
1 <= chips.length <= 100
1 <= chips[i] <= 10^9
クラスソリューション{ 公共 のint minCostToMoveChips(INT []チップ){ int型の奇数偶数= 0、= 0 ; 以下のために(INT ; I <chips.length; iが0 = I ++ ){ 場合(チップ[I]%2 == 0)であっても++ 。 他の奇数++ ; } 戻りMath.min(偶数、奇数)。 } }
問題外であるIの串、夕食スキルズビーム臨時テーブル。
効果:奇数でチップので、さらにお金、お金奇数ステップを移動しても、計算することができ、少量を取ることはありません。