C++零基础算法100题 - 拿硬币

259 阅读1分钟

题目链接: LCP 06. 拿硬币 - 力扣(LeetCode)

题目描述

image.png

解题思路

  1. 首先我们得到一个数组
  2. 我们遍历每个元素,由于我们每次只能拿一枚或者两枚
  3. 我们将当前元素+1再除以2.防止元素个数是1,我们除以二得到0的情况
  4. 返回拿这些硬币的次数的结果

代码实现

class Solution {
public:
    int minCount(vector<int>& coins) {
        int s=0;
        for(int i=0;i<coins.size();++i){
            s+=(coins[i]+1)/2;
        }
        return s;
    }
};