package com.fishercoder.solutions;

/**
 * 1217. 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 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
 * */
public class _1217 {
    public static class Solution1 {
        /**credit: https://leetcode.com/problems/play-with-chips/discuss/398239/C%2B%2B-3-lines*/
        public int minCostToMoveChips(int[] chips) {
            int chipsAtOddPosition = 0;
            int chipsAtEvenPosition = 0;
            for (int i = 0; i < chips.length; i++) {
                if (chips[i] % 2 == 0) {
                    chipsAtEvenPosition++;
                } else {
                    chipsAtOddPosition++;
                }
            }
            return chipsAtEvenPosition > chipsAtOddPosition ? chipsAtOddPosition : chipsAtEvenPosition;
        }
    }
}

@@ -33,988 +33,8 @@
 s;%0A%0A
-/**%0A * 1217. Play with Chips%0A *%0A * There are some chips, and the i-th chip is at position chips%5Bi%5D.%0A * You can perform any of the two following types of moves any number of times (possibly zero) on any chip:%0A *%0A * Move the i-th chip by 2 units to the left or to the right with a cost of 0.%0A * Move the i-th chip by 1 unit to the left or to the right with a cost of 1.%0A *%0A * There can be two or more chips at the same position initially.%0A *%0A * Return the minimum cost needed to move all the chips to the same position (any position).%0A *%0A * Example 1:%0A * Input: chips = %5B1,2,3%5D%0A * Output: 1%0A * 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.%0A *%0A * Example 2:%0A * Input: chips = %5B2,2,2,3,3%5D%0A * Output: 2%0A * Explanation: Both fourth and fifth chip will be moved to position two with cost 1. Total minimum cost will be 2.%0A *%0A * Constraints:%0A * 1 %3C= chips.length %3C= 100%0A * 1 %3C= chips%5Bi%5D %3C= 10%5E9%0A * */%0A
 publ
@@ -97,16 +97,28 @@
      /**
+%0A         * 
 credit: 
@@ -193,16 +193,26 @@
 -3-lines
+%0A         
 */%0A     

refactor 1217