Não tenho certeza do que estou fazendo errado, mas quando executo o código abaixo:
func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
let length = nums.count-1;
for index1 in 0...length {
let difference = target - nums[index1];
print(target, difference, nums[index1])
if (nums[index1] < difference) {
for index2 in index1+1...length {
if (nums[index2] == difference) {
return [index1, index2];
}
}
}
}
return [];
}
let summer = twoSum([-1,-2,-3,-4,-5], -8)
Recebo o seguinte erro:
Swift/ClosedRange.swift:347: Erro fatal: O intervalo requer lowerBound <= upperBound
Curiosamente, se eu alterar a condição da instrução if para
nums[index1] <= target
, ela não trava.