微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何快速获取数组中的值的总和

如何解决如何快速获取数组中的值的总和

我有一个数组,其元素类似a ​​= [5,6,8,9,2,8]。因此,当我进行第一次迭代时,我将跳过第一个索引,然后将其余元素添加到数组中;如果进行第二次迭代,则将跳过第二个元素,然后添加其余元素。例如:对于第二次迭代,我跳过第二个元素,然后将其余元素添加为5 + 8 + 9 + 2 + 6 + 8 = 38像这样,我想添加元素并找到元素的最高和最低的元素。如何迅速做到这一点?

解决方法

尝试一下:

let array: [Int] = [1,2,3,4,5]
var min: Int!
var max: Int!

for (index,_) in array.enumerated() {
    var auxArray = array
    auxArray.remove(at: index)
    let sum = auxArray.reduce(0,+)

    if min == nil || max == nil {
        min = sum
        max = sum
    } else if sum < min {
        min = sum
    } else if sum > max {
        max = sum
    }
}

print("MIN: \(min!),MAX: \(max!)")
,

您可以一次迭代完成

let a = [5,6,8,9,8]

var sum = 0
var smallestNumber = a[0]
var largestNumber = a[0]

for number in a {
    sum += number
    if number < smallestNumber {
        smallestNumber = number
    }
    if number > largestNumber {
        largestNumber = number
    }
}

let smallestSum = sum - largestNumber
let largestSum = sum - smallestNumber

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。