本文主要是介绍【力扣,java题解】2706. 购买两块巧克力,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
思路1:先将prices数组排序,然后取最小值和次小值
代码:
class Solution{public int buyChoco(int[] prices, int money) {Arrays.sort(prices);int temp = prices[0] + prices[1];return temp <= money ? money - temp : money;}
}
思路二:给min1和min2变量分别赋最小值和次小值,求和再与money 进行比较
代码:
class Solution{public int buyChoco(int[] prices, int money) {double min1 = 1/ 0.0, min2 = 1/ 0.0;for (int i : prices) {if (i < min1) {min2 = min1;min1 = i;} else if (i < min2) {min2 = i;}}if ((int)min1 + (int)min2 <= money) {return money - (int)min1 - (int)min2;}return money;}
}
做题总结:
- Arrays.sort()默认是升序
- 在java中给值赋无穷大,无穷小,只需要:整数/0.0,负数/0.0
这篇关于【力扣,java题解】2706. 购买两块巧克力的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!