题目内容
一个图像有n个像素点,存储在一个长度为n的数组img里,每个像素点的取值范围[0,255]的正整数。
请你给图像每个像素点值加上一个整数k(可以是负数),得到新图newImg
,使得新图newImg
的所有像素平均值最接近中位值128。
请输出这个整数k。
输入
0 0 0 0
输出
128
解题思路
minDifference
表示平均值与128的最小差值,k
表示最佳的调整值。
遍历k:
计算调整后的像素值总和。
计算平均值与128的差值。
如果当前差值小于minDifference
,则更新minDifference
和k
。
如果当前差值等于minDifference
,则更新k为较小的k值。
参考代码
import java