我正在编写一个算法来查找数组中的最小数字但是我的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)
| 归档时间: |
|
| 查看次数: |
4187 次 |
| 最近记录: |