一、题目描述
一个图像有 n 个像素点,存储在一个长度为 n 的数组 img 里,每个像素点的取值范围[0,255]的正整数。
请你给图像每个像素点值加上一个整k(可以是负数),得到新图 newlmg,使得新图 newlmg 的所有像素平均值最接近中位值 128。
请输出这个整数 k。
二、输入描述
n 个整数,中间用空格分开。
三、输出描述
一个整数 k。
四、备注
1 <= n <= 100。
如有多个整数 k 都满足,输出小的那个 k;
新图的像素值会自动截取到[0,255]范围。当新像素值<0,其值会更改为0,当新像素值>255,其值会更改为 255:例如 newlmg=”-1 -2 256”,会自动更改为”0 0 255"
五、解题思路
1、问题分析
我们需要找到一个整数k,将其加到图像的每个像素点上(结果限定在[0,255]范围内),使得新图像的所有像素的平均值尽可能接近中位值128。如果存在多个k满足条件,则选择最小的k。
2、解题步骤
- 遍历可能的k值:
- k的范围从-127到128。这是因为对于像素值0,最大的k为128以达到128;对于像素值255,最小的k为-127以达到128。
订阅专栏 解锁全文
619

被折叠的 条评论
为什么被折叠?



