LeetCode Easy 88 Объединить отсортированный массивSwift фатальная ошибка: индекс вне диапазона
Вопрос:
Учитывая отсортированные целые массивы nums1 и nums2, сливаться nums2 в nums1 как один отсортированный массив.
Примечание:
Вы можете предположить, что nums1 имеет достаточно пространства (размер, который больше или равен т + п) провести additionalelements из nums2. Количество элементов, инициализированных в nums1 и nums2, равно m и n соответственно.
У меня есть ошибка, которую я прокомментировал в своем коде. Я напечатал index2 и index3, оба они равны нулю. Они должны быть законными. Почему я получил эту ошибку?
Любая помощь, я ценю это. Большое вам спасибо за ваше время!
class Solution
{
func merge(inout nums1:[Int], _ m: Int, _ nums2:[Int], _ n: Int)
{
var index1 = m - 1
var index2 = n - 1
var index3 = m + n - 1
while index2 >= 0 && index1 >= 0
{
if nums1[index1] > nums2[index2]
{
nums1[index3] = nums1[index1]
index3 -= 1
index1 -= 1
}
else
{
nums1[index3] = nums2[index2]
index3 -= 1
index2 -= 1
}
}
while index2 >= 0
{
print(index2)
print(index3)
nums1[index3] = nums2[index2] // fatal error: Index out of range
index3 -= 1
index2 -= 1
}
}
}
let test1 = Solution()
var haha = [Int]()
haha = []
test1.merge(&haha,0, [1],1)
print(haha)
Большое вам спасибо! Для меня это имеет смысл. Ценю вашу помощь! – Tang