Предмет:
ИнформатикаАвтор:
damienspencerpackage main
import (
"fmt"
"sort"
)
func FindMissingValues(nums []int) []int {
n := len(nums)
missingValues := make([]int, 0)
expectedValues := make([]int, n)
for i := 0; i < n; i++ {
expectedValues[i] = i + 1
}
sort.Ints(nums)
sort.Ints(expectedValues)
i, j := 0, 0
for i < n && j < n {
if nums[i] == expectedValues[j] {
i++
j++
} else if nums[i] < expectedValues[j] {
i++
} else {
missingValues = append(missingValues, expectedValues[j])
j++
}
}
for j < n {
missingValues = append(missingValues, expectedValues[j])
j++
}
return missingValues
}
func main() {
fmt.Println(FindMissingValues([]int{4, 3, 2, 7, 8, 2, 3, 1}))
}
Необходимо заменить функцию FindMissingValues в исходном коде на предложенный выше код. Он исправит ошибку и доработает логику таким образом, чтобы выводилось [5 6] вместо [3 4 5 6].
Автор:
muffylpxjДобавить свой ответ
Предмет:
ЛитератураАвтор:
grace93Ответов:
Смотреть
Предмет:
Русский языкАвтор:
jaslynhannaОтветов:
Смотреть
Предмет:
АлгебраАвтор:
nicanors3m7Ответов:
Смотреть