扫码关注官方订阅号
认证0级讲师
找最优解,可以看看遗传算法
算法之类的不是很懂,但这是我的一个代码。我是这样想的。一个数组内,里面有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
PHP学习
技术支持
返回顶部
找最优解,可以看看遗传算法
算法之类的不是很懂,但这是我的一个代码。
我是这样想的。
一个数组内,里面有N+1个整数。
进行冒泡排序出最大的和最小的。
之后循环这个数组去取和。
结果就是如下: