2017-06-20 104 views
0
let array = [2,3,5,7,3,1,8,9,0,2,4,1] 
var minvalue = array[0] 
for values in array { 
    values < minvalue ? minvalue = values : minvalue 
} 
print(minvalue) 

此使用三元运算符找到一个数组的最小值是我试过的代码,我想在数组中的最小值,如果我使用if..else我可以做到,但无法找到使用三元运算符。如何在迅速

回答

4

您可以使用ternary operator这种方式。

for values in array { 
    minvalue = values < minvalue ? values : minvalue 
} 

Swift的而不是简单的选择是使用min()

print(array.min()) 
0

至获取最小值 SWIFT 3

array.min() 
+0

嗨,我想知道如何找到通过循环和三元运算符。 –

0

为此,您可以通过排序数组:

let sortedArray = array.sorted() 
var minvalue = sortedArray[0] 
+3

技术上正确,但解决问题的方法效率低下。 – Rob

+0

为什么?你能告诉我吗? – Mina

+1

排序不仅可以找到最小值,还可以确定第二小值,第三小等等。如果您只需要知道最小值是多少,那么所做的工作量要多得多。即使是好的排序算法也是,比如O(n log n)的复杂性。 'min'函数是对结果的简单扫描,具有O(n)时间和O(1)内存。 – Rob