【华为OD机试真题2023 JAVA】简单的自动曝光

55f5782ea7df030fe291bb6b19ab60d9.png
75799d91cd1509f528ef4cc336d33ff7.png
f3d59b51fb4eb32975dea593a0704315.png

public class Main{
 
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
 
        String[] strs = sc.nextLine().split(" ");
        int len = strs.length;
 
        double count = 0;   //输入值总和
        for(int i=0; i<len; i++){
            int num = Integer.valueOf(strs[i]);
            count += num;
        }
 
        double averages = count/len - 128;  //平均差
        int res;
        if(averages >= 0){
            res = (int) Math.round(averages);   //对平均差进行四舍五入
        }else {
            res = (int)(- Math.round( - averages));
        }
 
        int lessThenZeroNum = 0;    //newImg小于0的个数
        int lessThenZero = 0;    //newImg小于0的与0的差值的和
        for( int i=0; i<len; i++){
            int num = Integer.valueOf(strs[i]);
            if(num - res < 0){    //考虑到newImg的值小于0
                lessThenZeroNum ++;
                lessThenZero += num - res;
            }
        }
 
        res -= lessThenZero / (len - lessThenZeroNum);
 
        System.out.println(0 - res);    //取反
    }
 
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值