原题目链接:
在这个题里,有一个最基本的思路,我们很贪心,每次都是拿两个硬币,然后用一个变量count来记录每堆硬币拿去的次数。
值得要注意的时候,硬币的堆数是奇数的时候,我们要向上取整,比如说3个硬币,每次拿两个,我们可以拿两次就可以解决问题,只需要(3+1)/2就能做到向上取整
代码如下:
int minCount(int* coins, int coinsSize){
int count = 0;
for(int i = 0;i < coinsSize;i++)
{
count += (coins[i] + 1)/2;
}
return count;
}