如何找到数组中的最小数字?

but*_*aby 1 arrays swift

我正在编写一个算法来查找数组中的最小数字但是我的print语句一直说最低的数字是0.我有以下内容:

var list = [5, 4, 3, 5, 2, 50, 8, 10, 300]

func findMin(numbers: NSArray) {

    var minValue = numbers[0]
    var isSmallest: Bool

    for i in 0...numbers.count {
        isSmallest = true
        for j in 0...numbers.count {
            if i > j {
                isSmallest = false
            }
        }

        if isSmallest {
            minValue = i
        }

    }
    print("Smallest value in the list is \(minValue)")
}

findMin(numbers: list as NSArray)
Run Code Online (Sandbox Code Playgroud)

我的print语句返回为:

"Smallest value in the list is 0\n"
Run Code Online (Sandbox Code Playgroud)

我觉得算法是正确的.有任何想法吗?

编辑:回答了我自己的问题

我在迭代索引而不是实际值.感谢评论中的一位用户.正确的代码应该是:

var list = [5, 4, 3, 5, 2, 50, 8, 10, 300]

func findMin(numbers: NSArray) {

    var minValue = numbers[0]
    var isSmallest: Bool

    for i in list {
        isSmallest = true
        for j in list {
            if i > j {
                isSmallest = false
            }
         }

        if isSmallest {
            minValue = i
        }

    }

    print("Smallest value in the list is \(minValue)")
}

findMin(numbers: list as NSArray)
Run Code Online (Sandbox Code Playgroud)

vad*_*ian 10

只是

let list = [5, 4, 3, 5, 2, 50, 8, 10, 300]
let minValue = list.min()
Run Code Online (Sandbox Code Playgroud)