|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- There are some chips, and the i-th chip is at position chips[i].
- You can perform any of the two following types of moves any number of times (possibly zero) on any chip:
- Move the i-th chip by 2 units to the left or to the right with a cost of 0.
- Move the i-th chip by 1 unit to the left or to the right with a cost of 1.
- There can be two or more chips at the same position initially.
- Return the minimum cost needed to move all the chips to the same position (any position).
-
- Example 1:
- Input: chips = [1,2,3]
- Output: 1
- Explanation: Second chip will be moved to positon 3 with cost 1. First chip will be moved to position 3 with cost 0. Total cost is 1.
- Example 2:
- Input: chips = [2,2,2,3,3]
- Output: 2
- Explanation: Both fourth and fifth chip will be moved to position two with cost 1. Total minimum cost will be 2.
-
- Constraints:
- 1 <= chips.length <= 100
- 1 <= chips[i] <= 10^9
复制代码
- class Solution {
- public int minCostToMoveChips(int[] chips) {
- if(chips.length == 0 || chips.length == 1) return 0;
- int[] arr = new int[2];
- for(int i = 0; i< chips.length; i++){
- if(chips[i] % 2 == 0)
- arr[0]++;
- else
- arr[1]++;
- }
- if(arr[0] > arr[1]) return arr[1];
- else return arr[0];
-
- }
-
- }
复制代码 |
|