Middle
Պահանջվում է իրականացնել zip ֆունկցիան, որը միացնում է երկու slice-ների տարրերը զույգերի մեջ ```go func main() { s1, s2 := []int{1, 2, 3}, []int{4, 5, 6, 7, 8} fmt.Println(zip(s1, s2)) // [[1 4] [2 5] [3 6]] } func zip(s1 []int, s2 []int) [][]int { //... } ```
sobes.tech AI
Պատասխան AI-ից
zip ֆունկցիան պետք է անցնի երկու ցանկերով և կազմի զույգերի ցանկ, որի երկարությունը հավասար է երկու սկզբնական ցանկերից կարճագույնի երկարությանը: Ահա Go-ում իրականացման օրինակ:
func zip(s1 []int, s2 []int) [][]int {
length := len(s1)
if len(s2) < length {
length = len(s2)
}
result := make([][]int, length)
for i := 0; i < length; i++ {
result[i] = []int{s1[i], s2[i]}
}
return result
}
Այս կոդում մենք սահմանում ենք նվազագույն երկարությունը, ստեղծում ենք անհրաժեշտ չափի ցանկ և լրացնում ենք այն s1 և s2-ից վերցված զույգերով։