登录 主页

go算法入门(动态创建一个二维Array)

2023-03-23 11:19AM

题目:

实现这样的方法: 可以动态创建一个二维Array, 内容如下

generate_array(3)

获得:

[

[1],

[2,2],

[3,3,3]

]

generate_array(5)

获得:

[

[1],

[1,2],

[1,2,3],

[1,2,3,4],

[1,2,3,4,5]

]

代码如下(带日志)1:

package main
import "fmt"

func sort(b int) []int{
  // 第一次循环
  result := []int{}
  for i := 1; i <= b; i++{
    result = append(result, b)//新增 b
    fmt.Println("====== 每个循环1, i:", i, "result", result)
  }
  return result
}

func main() {
  fmt.Println(sort(3))
  // 第二次循环
  result := [][]int{}
  for i := 1; i <= 3; i++{
    fmt.Println(sort(3))
    result = append(result, sort(i))
    fmt.Println("====== 每个循环2, i:", i, "result", result)
  }
  fmt.Println(result)
}

结果:

====== 每个循环1, i: 1 result [3]
====== 每个循环1, i: 2 result [3 3]
====== 每个循环1, i: 3 result [3 3 3]
[3 3 3]
====== 每个循环1, i: 1 result [3]
====== 每个循环1, i: 2 result [3 3]
====== 每个循环1, i: 3 result [3 3 3]
[3 3 3]
====== 每个循环1, i: 1 result [1]
====== 每个循环2, i: 1 result [[1]]
====== 每个循环1, i: 1 result [3]
====== 每个循环1, i: 2 result [3 3]
====== 每个循环1, i: 3 result [3 3 3]
[3 3 3]
====== 每个循环1, i: 1 result [2]
====== 每个循环1, i: 2 result [2 2]
====== 每个循环2, i: 2 result [[1] [2 2]]
====== 每个循环1, i: 1 result [3]
====== 每个循环1, i: 2 result [3 3]
====== 每个循环1, i: 3 result [3 3 3]
[3 3 3]
====== 每个循环1, i: 1 result [3]
====== 每个循环1, i: 2 result [3 3]
====== 每个循环1, i: 3 result [3 3 3]
====== 每个循环2, i: 3 result [[1] [2 2] [3 3 3]]
[[1] [2 2] [3 3 3]]

代码如下(带日志)2:

package main
import "fmt"

func Array(b int) []int{
  var l = []int{}
  for i := 1; i <= b; i++{
    l = append(l, i)//新增 b 换成 i
    fmt.Println("====== 每个循环1, i:", i, "l", l)
  }
  return l
}
func main() {
  var l= [][]int{}
  for i := 1; i <= 3; i++{
    fmt.Println("Array:", Array(3))
    l = append(l, Array(i))
    fmt.Println("====== 每个循环2, i:", i, "l", l)
  }
  fmt.Println("l:", l)

结果:

====== 每个循环1, i: 1 l [1]
====== 每个循环1, i: 2 l [1 2]
====== 每个循环1, i: 3 l [1 2 3]
====== 每个循环1, i: 4 l [1 2 3 4]
====== 每个循环1, i: 5 l [1 2 3 4 5]
Array: [1 2 3 4 5]
====== 每个循环1, i: 1 l [1]
====== 每个循环2, i: 1 l [[1]]
====== 每个循环1, i: 1 l [1]
====== 每个循环1, i: 2 l [1 2]
====== 每个循环1, i: 3 l [1 2 3]
====== 每个循环1, i: 4 l [1 2 3 4]
====== 每个循环1, i: 5 l [1 2 3 4 5]
Array: [1 2 3 4 5]
====== 每个循环1, i: 1 l [1]
====== 每个循环1, i: 2 l [1 2]
====== 每个循环2, i: 2 l [[1] [1 2]]
====== 每个循环1, i: 1 l [1]
====== 每个循环1, i: 2 l [1 2]
====== 每个循环1, i: 3 l [1 2 3]
====== 每个循环1, i: 4 l [1 2 3 4]
====== 每个循环1, i: 5 l [1 2 3 4 5]
Array: [1 2 3 4 5]
====== 每个循环1, i: 1 l [1]
====== 每个循环1, i: 2 l [1 2]
====== 每个循环1, i: 3 l [1 2 3]
====== 每个循环2, i: 3 l [[1] [1 2] [1 2 3]]
====== 每个循环1, i: 1 l [1]
====== 每个循环1, i: 2 l [1 2]
====== 每个循环1, i: 3 l [1 2 3]
====== 每个循环1, i: 4 l [1 2 3 4]
====== 每个循环1, i: 5 l [1 2 3 4 5]
Array: [1 2 3 4 5]
====== 每个循环1, i: 1 l [1]
====== 每个循环1, i: 2 l [1 2]
====== 每个循环1, i: 3 l [1 2 3]
====== 每个循环1, i: 4 l [1 2 3 4]
====== 每个循环2, i: 4 l [[1] [1 2] [1 2 3] [1 2 3 4]]
====== 每个循环1, i: 1 l [1]
====== 每个循环1, i: 2 l [1 2]
====== 每个循环1, i: 3 l [1 2 3]
====== 每个循环1, i: 4 l [1 2 3 4]
====== 每个循环1, i: 5 l [1 2 3 4 5]
Array: [1 2 3 4 5]
====== 每个循环1, i: 1 l [1]
====== 每个循环1, i: 2 l [1 2]
====== 每个循环1, i: 3 l [1 2 3]
====== 每个循环1, i: 4 l [1 2 3 4]
====== 每个循环1, i: 5 l [1 2 3 4 5]
====== 每个循环2, i: 5 l [[1] [1 2] [1 2 3] [1 2 3 4] [1 2 3 4 5]]
l: [[1] [1 2] [1 2 3] [1 2 3 4] [1 2 3 4 5]]

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论