雙11眾多商品進行打折銷售,小明想購買一些自己心意的商品
但由於受購買資金限制,所以他決定從眾多心意商品中購買3件,而且想盡可能的花完資金
現在請你設計一個程序幫助小明計算盡可能花費的最大資金額
輸入描述
第一行為整型數組M 數組長度小於100 數組元素記錄單個商品的價格
單個商品價格<1000
第二行輸入為購買資金的額度R
R<100000
輸出描述
輸出為滿足上述條件的最大花費額度
如果不存在滿足上述條件的商品請返回-1
例子1
輸入
23,26,36,27
78
輸出
76
例子2
輸入
23,30,40
26
輸出
-1
備注:輸入格式正確
點擊查看代碼
import java.util.*;
public class Demo7 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String[] split = sc.nextLine().split(",");
int money = Integer.parseInt(sc.nextLine());
int len = split.length;
int[] ints = new int[len];
for(int i = 0; i < len; i++){
ints[i] = Integer.parseInt(split[i]);
}
Arrays.sort(ints);
int sum = -1; //巧妙!!
for(int i = 0; i < len - 3; i++){
sum = ints[i] + ints[i + 1] + ints[i + 2];
if(sum > money){
if (i != 0) {
sum = ints[i - 1] + ints[i] + ints[i + 1];
}
break;
}
}
System.out.println(sum);
}
}
總結:先要有個大致解決問題的思路框架,再根據特殊情況來完善框架!