@Spacedandy

Как найти два min значения в массиве случайных чисел?

Подскажи, пожалуйста, как найти два min значения в массиве случайных числе? Код написан под swift.

var list = [Int] ()
var n: Int = 8
for i in 1...n
{
let list = Int(arc4random_uniform(70))
print (list)
}

func getMin1Min2(numbers:Int...) -> (min1:Int, min2:Int)
{
var min1 = numbers[0]
var min2 = numbers[0]

for number in numbers
{
if number < min1 {min1 = number}

Дальше попытка найти 2-ое минимальное значение, но увы ...

if number > min1
{if number < min2
{min2 = number}
}
}
return (min1, min2)
}

завершаться задача должна поиском двух мин. значений в рандомном массиве, но увы не знаю как использовать созданный массив и функцию ...

var value = getMin1Min2 (list)
  • Вопрос задан
  • 207 просмотров
Пригласить эксперта
Ответы на вопрос 2
ManWithBear
@ManWithBear
Swift Adept, Prague
var min1 = min(arr[0],arr[1])
var min2 = max(arr[0],arr[1])
arr.forEach { (element) in
    if min1 > element {
        min2 = min1
        min1 = element
    } else {
        min2 = min(element,min2)
    }
}
Ответ написан
@nicebmw9
Что было дальше ?
Сделай 2 цикла в функции.
  1. Находит первый минимум обычным if number < min1 {min1 = number}
  2. if number < min2 and number!=min1 {min2=number} . А это второй минимум вторым циклом
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы