一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

java-構(gòu)成最大和的數(shù)字

 印度阿三17 2019-11-08

我剛剛編寫(xiě)了程序,該程序從數(shù)組中找到最大和,
但我陷入困境,有什么辦法可以找到哪些數(shù)字促成了最高金額?

Rule of Maximum sum is given: No adjacent elements should contribute
to sum.

我對(duì)數(shù)組中最大和的解決方案:

public class MaximumELementInARray {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        String[] al = reader.nextLine().split(" ");
        int[] input = Arrays.stream(al).mapToInt(Integer::parseInt).toArray();
        MaximumELementInARray mm = new MaximumELementInARray();
        int maxi = mm.maximumm(input);
        System.out.println(maxi);
    }

    public int maximumm(int[] a) {
        List<Integer> ex = new ArrayList<>();
        List<Integer> inc = new ArrayList<>();
        int incl = a[0];
        int excl = 0;
        int excl_new;
        for (int i = 1; i < a.length; i  ) {
            excl_new = Math.max(incl, excl);
            incl = excl   a[i];
            excl = excl_new;
        }
        System.out.println(incl > excl ? inc : ex);
        return incl > excl ? incl : excl;
    }
}

現(xiàn)在在最大函數(shù)中有一個(gè)調(diào)整,可以將構(gòu)成最大和的所有元素索引放到哪里?

輸入:

-1 7 8 -5 4 9 -2 3

輸出:

20

**

我需要20點(diǎn)到達(dá).答案應(yīng)該是8 9 3

**

我相信在最大功能中,我們可以放置一個(gè)Arraylist并記錄哪些元素對(duì)總和起作用,但我無(wú)法實(shí)現(xiàn).

我做了兩個(gè)Arraylist:

List<Integer> ex = new ArrayList<>();
List<Integer> inc = new ArrayList<>();

輸入:-1 7 8 -5 4
輸出:12
總和由8 4組成

輸入:3 2 1 -1
輸出4
總和由3 1組成

等等….

解決方法:

您可以遵循此代碼.

    int toIndex = 3, fromIndex = 0;
    List<Integer> result = new ArrayList<>();
    while (toIndex < numbers.size()) {
        Map<Integer, Integer> map = IntStream
                .range(fromIndex, toIndex)
                .filter(i->numbers.get(i)>0)
                .mapToObj(i -> new AbstractMap.SimpleEntry<>(i, numbers.get(i)))
                .collect(Collectors.toMap(Map.Entry::getValue, Map.Entry::getKey,(a,b)->b));
        // find max of sublist
        int maxOfSub = numbers.subList(fromIndex, toIndex).stream().max(Integer::compareTo).get();
        //update indexes
        fromIndex = map.getOrDefault(maxOfSub,toIndex-1)   2;
        toIndex  = fromIndex;

        if (maxOfSub > 0)
            result.add(maxOfSub);
    }
    int lastMax = numbers.subList(fromIndex, numbers.size()).stream().max(Integer::compareTo).get();
    if (lastMax > 0)
        result.add(lastMax);
    System.out.println(result);
    System.out.println(result.stream().reduce(0, Integer::sum));

DEMO

來(lái)源:https://www./content-1-551301.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    黄色国产精品一区二区三区| 欧美午夜视频免费观看| 国内欲色一区二区三区| 亚洲熟女精品一区二区成人| 欧美一级特黄大片做受大屁股 | 国产一区麻豆水好多高潮| 国产精品内射视频免费| 欧美大粗爽一区二区三区| 99久久国产精品亚洲| 欧美日韩成人在线一区| 伊人色综合久久伊人婷婷| 中文字幕亚洲精品人妻| 国产成人精品国产成人亚洲| 国产亚洲欧美日韩国亚语| 国产一级内射麻豆91| 国内自拍偷拍福利视频| 国产欧美一区二区另类精品| 欧美av人人妻av人人爽蜜桃| 欧美日韩亚洲国产综合网| 日韩一区二区三区四区乱码视频| 麻豆91成人国产在线观看| 国产又大又猛又粗又长又爽| 丁香六月啪啪激情综合区| 丝袜av一区二区三区四区五区| 亚洲男女性生活免费视频| 黄色片国产一区二区三区| 国产精品久久女同磨豆腐| 精品亚洲av一区二区三区| 加勒比系列一区二区在线观看 | 婷婷开心五月亚洲综合| 91欧美亚洲精品在线观看| 国产精品福利一级久久| 国产精品欧美激情在线播放| 深夜少妇一区二区三区| 好吊妞视频只有这里有精品| 婷婷开心五月亚洲综合| 日韩一区欧美二区国产| 精品高清美女精品国产区| 美女极度色诱视频在线观看| 日韩夫妻午夜性生活视频| 欧美精品一区久久精品|