Senior
func revert(nums []int) { // 1 2 3 4 => 4 3 2 1 } func main() { a := []int{1,2,3,4,5} revert(a) fmt.Println(a) } func revert(nums []int) { // 1 2 3 4 => 4 3 2 1 l, r := 0, len(nums)-1 for l < r { nums[l], nums[r] = nums[r], nums[l] l++ r-- } } func main() { a := []int{1,2,3,4,5} revert(a) fmt.Println(a) }
sobes.tech AI
Ҷавоб аз AI
Дар коде, функсия revert қабул мекунад сегмент nums ва ислоҳ мекунад тартиби элементҳо, истифодаи ду ишора — яке аз оғоз ва дигар аз охир сегмента. То замон, ки ишораи чап хурдтар аз ишораи рост аст, элементҳо иваз мешаванд ва ишораҳо ба якдигар наздик мешаванд.
Маслиҳат коди дар Go:
package main
import "fmt"
func revert(nums []int) {
l, r := 0, len(nums)-1
for l < r {
nums[l], nums[r] = nums[r], nums[l]
l++
r--
}
}
func main() {
a := []int{1, 2, 3, 4, 5}
revert(a)
fmt.Println(a) // Натиҷа: [5 4 3 2 1]
}
Аз он ҷост, ки слайсҳо дар Go тавассути истинод гузаронида мешаванд, тағирот дар дохили функсия ба слайси аслӣ таъсир мерасонанд, ки инро натиҷа нишон медиҳад.