LeetCode 2171. 拿出最少数目的魔法豆(排序)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 2171. 拿出最少数目的魔法豆(排序)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
給你一個 正 整數數組 beans ,其中每個整數表示一個袋子里裝的魔法豆的數目。
請你從每個袋子中 拿出 一些豆子(也可以 不拿出),使得剩下的 非空 袋子中(即 至少 還有 一顆 魔法豆的袋子)魔法豆的數目 相等 。
一旦魔法豆從袋子中取出,你不能將它放到任何其他的袋子中。
請你返回你需要拿出魔法豆的 最少數目。
示例 1: 輸入:beans = [4,1,6,5] 輸出:4 解釋: - 我們從有 1 個魔法豆的袋子中拿出 1 顆魔法豆。剩下袋子中魔法豆的數目為:[4,0,6,5] - 然后我們從有 6 個魔法豆的袋子中拿出 2 個魔法豆。剩下袋子中魔法豆的數目為:[4,0,4,5] - 然后我們從有 5 個魔法豆的袋子中拿出 1 個魔法豆。剩下袋子中魔法豆的數目為:[4,0,4,4] 總共拿出了 1 + 2 + 1 = 4 個魔法豆,剩下非空袋子中魔法豆的數目相等。 沒有比取出 4 個魔法豆更少的方案。示例 2: 輸入:beans = [2,10,3,2] 輸出:7 解釋: - 我們從有 2 個魔法豆的其中一個袋子中拿出 2 個魔法豆。剩下袋子中魔法豆的數目為:[0,10,3,2] - 然后我們從另一個有 2 個魔法豆的袋子中拿出 2 個魔法豆。剩下袋子中魔法豆的數目為:[0,10,3,0] - 然后我們從有 3 個魔法豆的袋子中拿出 3 個魔法豆。剩下袋子中魔法豆的數目為:[0,10,0,0] 總共拿出了 2 + 2 + 3 = 7 個魔法豆,剩下非空袋子中魔法豆的數目相等。 沒有比取出 7 個魔法豆更少的方案。提示: 1 <= beans.length <= 10^5 1 <= beans[i] <= 10^5來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/removing-minimum-number-of-magic-beans
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 排序
- 遍歷,在每個不同數字首次出現的時候,計算 數組和 - 剩余可保留的個數*當前數值
272 ms 26.2 MB Python3
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 2171. 拿出最少数目的魔法豆(排序)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1851. 包含每个查
- 下一篇: LeetCode 2033. 获取单值网