泸州网站公司,兰州市住房和城乡建设厅官方网站,促进房地产市场健康发展,晋城建设公司网站2023-09-20每日一题
一、题目编号
LCP 06. 拿硬币二、题目链接
点击跳转到题目位置
三、题目描述
桌上有 n 堆力扣币#xff0c;每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆#xff0c;拿走其中的一枚或者两枚#xff0c;求拿完所有力扣币的最少次数。 示…2023-09-20每日一题
一、题目编号
LCP 06. 拿硬币二、题目链接
点击跳转到题目位置
三、题目描述
桌上有 n 堆力扣币每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆拿走其中的一枚或者两枚求拿完所有力扣币的最少次数。 示例 1
示例 2 限制
1 n 41 coins[i] 10
四、解题代码
class Solution {
public:int minCount(vectorint coins) {int cnt 0;int n coins.size();for(int i 0;i n; i){cnt (coins[i] % 2 coins[i] / 2);}return cnt;}
};五、解题思路
(1) 如果是3个硬币就需要拿3 % 2 3 / 2 2次。
(2) 如果是4个硬币就需要拿4 % 2 4 / 2 2次。
(3) 所以最终每一堆拿的次数是硬币数 % 2 硬币数 / 2次。