1217. Play with Chips*
https://leetcode.com/problems/play-with-chips/
题目描述
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 of0. - Move the
i
-th chip by 1 unit to the left or to the right with a cost of1.
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:
Example 2:
Constraints:
-
1 <= chips.length <= 100
-
1 <= chips[i] <= 10^9
C++ 实现 1
本题的 chips
数组表示第 i
芯片的位置, 解题的关键是注意题目中的条件: 可以移动任意位置的芯片以及任意次数, 并且如果移动芯片 2 个单位, cost 为 0;
那么, 我们可以不停的以 2 为单位移动芯片, 直到它处在 0 或者 1 位置上, 反正这个过程不用任何 cost.
然后比较 0 和 1 位置上的芯片个数, 哪个位置的芯片数量少, 之后就移动哪个位置的芯片.
下面代码中, 用 record
来记录 0 和 1 位置上芯片的个数.