美文网首页
华为OD机试真题2023_Swift_100_简单的自动曝光

华为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