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

题目:

实现这样的方法: 可以动态创建一个二维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]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值