1217. 玩籌碼

題目:
數(shù)軸上放置了一些籌碼,每個(gè)籌碼的位置存在數(shù)組 chips 當(dāng)中。
你可以對(duì) 任何籌碼 執(zhí)行下面兩種操作之一(不限操作次數(shù),0 次也可以):
將第 i 個(gè)籌碼向左或者右移動(dòng) 2 個(gè)單位,代價(jià)為 0。
將第 i 個(gè)籌碼向左或者右移動(dòng) 1 個(gè)單位,代價(jià)為 1。
最開始的時(shí)候,同一位置上也可能放著兩個(gè)或者更多的籌碼。
返回將所有籌碼移動(dòng)到同一位置(任意位置)上所需要的最小代價(jià)。

示例 1:
輸入:chips = [1,2,3]
輸出:1
解釋:第二個(gè)籌碼移動(dòng)到位置三的代價(jià)是 1,第一個(gè)籌碼移動(dòng)到位置三的代價(jià)是 0,總代價(jià)為 1。

示例 2:
輸入:chips = [2,2,2,3,3]
輸出:2
解釋:第四和第五個(gè)籌碼移動(dòng)到位置二的代價(jià)都是 1,所以最小總代價(jià)為 2。

思路一:
題意讀了半天沒(méi)讀懂,參照題友寫的題意。
先理解題意:有的人可能理解錯(cuò)題意了,這里的chips數(shù)組里存放的是第i個(gè)籌碼存放的位置,不是第i個(gè)位置存放了多少個(gè)籌碼,這個(gè)概念
搞清楚了就簡(jiǎn)單多了。比如chips = [2,2,2,3,3]]表示第1個(gè)籌碼放第2個(gè)位置,第2個(gè)籌碼放第2個(gè)位置,第3個(gè)籌碼放第2個(gè)位置,第4個(gè)籌碼
放第3個(gè)位置,第5個(gè)籌碼放第3個(gè)位置,那么這就表示,第2個(gè)位置上有3個(gè)籌碼,第3個(gè)位置上有2個(gè)籌碼,其它位置上沒(méi)有籌碼,可以把
第3個(gè)位置上的2個(gè)籌碼移動(dòng)到第2個(gè)位置上,所以代價(jià)是2.
再理解思路:因?yàn)橐苿?dòng)2個(gè)位置不需要代價(jià),那么奇數(shù)位置移到奇數(shù)位置不用代價(jià),偶數(shù)位置移到偶數(shù)位置不用代價(jià),那就分別統(tǒng)計(jì)奇數(shù)
位置和偶數(shù)位置的個(gè)數(shù),相當(dāng)于把所有奇數(shù)放一起,所有偶數(shù)的放一起,然后比較奇數(shù)的少還是偶數(shù)的少,將少的個(gè)數(shù)移到多的個(gè)數(shù)位置
上去就可以了。
鏈接:https://leetcode-cn.com/problems/minimum-cost-to-move-chips-to-the-same-position/solution/xian-li-jie-ti-yi-zai-li-jie-dai-ma-si-lu-by-athen/

代碼如下:

public int minCostToMoveChips(int[] position) {
        int eventCount = 0;
        int addCount = 0;
        for (int p : position) {
            if (p % 2 == 0) {
                eventCount++;
            } else {
                addCount++;
            }
        }
        return Math.min(eventCount, addCount);
    }

-------------------------------小白學(xué)算法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 數(shù)軸上放置了一些籌碼,每個(gè)籌碼的位置存在數(shù)組 chips 當(dāng)中。 你可以對(duì) 任何籌碼 執(zhí)行下面兩種操作之一(不限操...
    安夏深藍(lán)翼閱讀 358評(píng)論 0 1
  • 題目描述 數(shù)軸上放置了一些籌碼,每個(gè)籌碼的位置存在數(shù)組 chips 當(dāng)中。你可以對(duì) 任何籌碼 執(zhí)行下面兩種操作之一...
    wanjh閱讀 206評(píng)論 0 0
  • 題目: 數(shù)軸上放置了一些籌碼,每個(gè)籌碼的位置存在數(shù)組 chips 當(dāng)中。你可以對(duì) 任何籌碼 執(zhí)行下面兩種操作之一(...
    WAI_f閱讀 234評(píng)論 0 0
  • 題目: 題目的理解: 移動(dòng)2個(gè)位置代價(jià)為0,那么也就是奇數(shù)位和偶數(shù)位的籌碼數(shù)比較,小的那個(gè)就是需要移動(dòng)的代碼。 p...
    _阿南_閱讀 150評(píng)論 0 1
  • 夜鶯2517閱讀 128,158評(píng)論 1 9

友情鏈接更多精彩內(nèi)容