java - 编程题:最优平均分配
PHP中文网
PHP中文网 2017-04-17 14:41:33
[Java讨论组]
PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
高洛峰

找最优解,可以看看遗传算法

高洛峰

算法之类的不是很懂,但这是我的一个代码。
我是这样想的。
一个数组内,里面有N+1个整数。
进行冒泡排序出最大的和最小的。
之后循环这个数组去取和。

//冒泡排序出最大和最小
        int temp;
        int[] noneSort = {30, 80, 80, 30, 88, 29, 88, 25, 25};
        for(int i = 0; i < noneSort.length-1; i++){
            for(int j = i + 1; j < noneSort.length; j++){
                temp = noneSort[i];
                if(noneSort[j] >= temp){
                    noneSort[i] = noneSort[j];
                    noneSort[j] = temp;
                }
            }
        }
        //输出打印
        log.info("{}", noneSort);
        int maxNum = noneSort[0];
        int minNum = noneSort[noneSort.length - 1];
        int max = 0, min = 0;
        for(int i = 0; i < noneSort.length; i++){
            if(noneSort[i] == minNum){    //如果等于最小值
                min += noneSort[i];
            }else if(noneSort[i] == maxNum){    //如果等于最大值
                max += noneSort[i];
            }
        }
        //输出打印
        log.info("max: {}, min: {}", max, min);

结果就是如下:

[88, 88, 80, 80, 30, 30, 29, 25, 25]
max: 176, min: 50
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号