Top.Mail.Ru
Ответы
Аватар пользователя
7 месяцев назад
от

Задача на Go

Дан слайс nums, состоящий из 2n элементов в формате [x0,x1,...,xn,y0,y1,...,yn]. Создайте функцию Mix(nums []int) []int, которая вернёт слайс, содержащий значения в следующем порядке: [x0,y0,x1,y1,...,xn,yn].


Не понимаю как можно сделать, пробовал через цикл, не получается.

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок
7мес

я хз, как должно быть по канону, но лёгкое гугление приводит к чему-то такому:

123456789101112131415161718192021222324
 //go 1.10.4  
 
package main
import "fmt"


func Mix(nums []int) []int {
    var nums_half = len(nums)/2

    var result []int
    for i := 0; i < nums_half; i++ {
        result = append(result, nums[i], nums[nums_half+i])
    }

    return result
}


func main() {  
    a := []int{ 1, 2, 3, 4, 5, 6, 7, 11, 22, 33, 44, 55, 66, 77 }  

    fmt.Println(a)  
    fmt.Println(Mix(a))  
}