题目链接 https://leetcode-cn.com/problems/minimum-cost-to-move-chips-to-the-same-position/ 解题思路 可以联想到周期函数,f(n + 2) = f(n),每次移动2个单位,代价都为0那么就可以将所有的偶数都移动到0,所有的奇数都移动到1然后再比较一下偶数和奇数的数量,将较少的那个全部移动到另一个上面去 AC代码 class Solution { public int minCostToMoveChips(int[] position) { int odd = 0; int even = 0; for (int value : position) { if (value % 2 == 0) even++; else odd++; } return Math.min(odd, even); } } 本地测试代码 package com.company; public class Solution_1217 { public static int minCostToMoveChips(int[] position) { int odd = 0; int even = 0; for (int value : position) { if (value % 2 == 0) even++; else odd++; } return Math.min(odd, even); } public static void main(String[] args) { System.out.println(minCostToMoveChips(new int[]{1, 2, 3})); System.out.println(minCostToMoveChips(new int[]{2, 2, 2, 3, 3})); } }