题目
桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。
思路
首先循环遍历数组 将数组的每个元素取余 如果为0则说明刚好整除 此时次数则等于元素的值处以2 如果无法整除 此时的次数就应该是元素的值处以2后加1 循环后求出最后结果
遇到的问题
暂无
代码
public class TakeMoney {
public static void main(String[] args) {
int[] coins = {1, 2, 3, 4};
int i = minCount(coins);
System.out.println(i);
}
public static int minCount(int[] coins) {
int count = 0;
for (int i = 0; i < coins.length; i++) {
if (coins[i] % 2 == 0)
count = count + coins[i] / 2;
else
count = count + (coins[i] + 1) / 2;
}
return count;
}
}
版权声明:本文为weixin_43178741原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。