golang出现panic: runtime error: index out of range [0] with length 0(创建n阶矩阵时)

本打算创建一个n阶的二维数组:以下两种情况都试了但都会出现如图片中的错误

Go 复制代码
ans := make([][]int, n)//①
var ans [][]int //②

原因是初始化问题:

虽然创建了切片 ans,但是没有初始化其内部的切片。这会导致在尝试访问 ans[i][j] 等位置时出现 panic。

正确的初始化方法:

Go 复制代码
// 初始化矩阵
//主要是n阶二维数组实际上是由n个一维数组组成
    ans := make([][]int, n)//只声明了n个一维数组
    for i := range ans {
        ans[i] = make([]int, n)//对每个一维数组进行初始化
    }
相关推荐
longlongzihan3 小时前
从LeetCode 70. 爬楼梯看动态规划:如何精准推导状态转移方程?
c++·算法·leetcode·动态规划
Rnan-prince9 小时前
LeetCode 股票买卖系列:一个动态规划状态机模板通吃四题
leetcode·动态规划
圣保罗的大教堂9 小时前
leetcode 3756. 连接非零数字并乘以其数字和 II 中等
leetcode
All for pursuit.13 小时前
【回溯-7】494.目标和
数据结构·c++·算法·leetcode
Tisfy15 小时前
LeetCode 0678.有效的括号字符串:O(n)+O(1)一次遍历
算法·leetcode·字符串·题解·贪心·括号匹配
Navigator_Z1 天前
LeetCode //C - 1278. Palindrome Partitioning III
c语言·算法·leetcode
青山木1 天前
Hot 100 --- 编辑距离
java·数据结构·算法·leetcode·动态规划
All for pursuit.1 天前
【回溯-4】46.全排列
数据结构·c++·算法·leetcode
All for pursuit.2 天前
【回溯-5】78.子集
数据结构·c++·算法·leetcode
代码什么用2 天前
LeetCode-560.和为 K 的子数组
算法·leetcode