7.盡可能花費最大資金額


雙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);
    }
}

 

總結:先要有個大致解決問題的思路框架,再根據特殊情況來完善框架!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM