华为OD机试真题2023_Swift_100_简单的自动曝光
作者:
雾中探雪 | 来源:发表于
2023-03-06 09:16 被阅读0次
// 简单的自动曝光
func HW2023012() {
// 测试用例
// let line = "0 0 0 0"
// let line = "129 130 129 130"
// let line = "126 127 126 127"
// 开始代码
let line = String(readLine()!)
let inputArr = line.components(separatedBy: " ").map { Int($0) ?? 0} // 将输入的字符串切割,并转化成数组
let averages = Double(inputArr.reduce(0) { $0 + $1 }) / Double(inputArr.count) - 128.0 // 平均差
var res = Int(round(averages)) // 对平均差四舍五入
var lessThanZeroNum = 0 // newImag小于0的个数
var lessThanZero = 0 // newImag小于0的数的总和
for num in inputArr {
if num - res < 0 {
lessThanZeroNum += 1
lessThanZero = num - res
}
}
res -= lessThanZero / (inputArr.count-lessThanZeroNum)
print(-res)
}
本文标题:华为OD机试真题2023_Swift_100_简单的自动曝光
本文链接:https://www.haomeiwen.com/subject/ekbjldtx.html
网友评论