主页

go算法入门(操作数组)

2023-03-22 02:30PM

题目:

操作数组: 把第一个元素和第二个元素调换位置,返回修改后的数组内容

参数1: 数组

参数2: 第一个元素的位置¶

参数3: 第二个元素的位置

要求:不创建新的数组,修改原有的数组, 获得结果

 switch_position([1,2,3], [4, 5, 7])# => ([2,1,3], [5, 4, 7])

代码1(带日志):

package main
import "fmt"
func main() {
  var x = []int{1,2,3}
  if m := 0; m < len(x){
    fmt.Println("1m:", m,"1x:", x)
    if n := 1; n < len(x){
      fmt.Println("2m:", m, "2n:", n, "2x:", x)
      x[m], x[n] = x[n], x[m]
      fmt.Println("3m:", m, "3n:", n, "3x:", x)
    }
  }
  fmt.Println(x)
}

结果:

1m: 0 1x: [1 2 3]
2m: 0 2n: 1 2x: [1 2 3]
3m: 0 3n: 1 3x: [2 1 3]
[2 1 3]

代码2:

package main
import "fmt"
func main() {
  var x = []int{4,5,7}
  if m := 0; m < len(x){
    if n := 1; n < len(x){
      x[m], x[n] = x[n], x[m]
    }
  }
  fmt.Println(x)
}

结果:

[5 4 7]

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论