java金额平均分配_java - 编程题:最优平均分配

小葫芦2017-04-17 14:43:331楼

算法之类的不是很懂,但这是我的一个代码。

我是这样想的。

一个数组内,里面有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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值