/
githubmirror
/
LeetCode-Go
Обзор
Документация
Войти
/
githubmirror
/
LeetCode-Go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
leetcode/0189.Rotate-Array/189. Rotate Array.go
24 строки
492 B
YDZ
Add solution 189
07 янв 2021, 21:44
07 янв 2021, 21:44
1bc9d34
Код
Авторство
О чём код?
package leetcode // 解法一 时间复杂度 O(n),空间复杂度 O(1) func rotate(nums []int, k int) { k %= len(nums) reverse(nums) reverse(nums[:k]) reverse(nums[k:]) } func reverse(a []int) { for i, n := 0, len(a); i < n/2; i++ { a[i], a[n-1-i] = a[n-1-i], a[i] } } // 解法二 时间复杂度 O(n),空间复杂度 O(n) func rotate1(nums []int, k int) { newNums := make([]int, len(nums)) for i, v := range nums { newNums[(i+k)%len(nums)] = v } copy(nums, newNums) }