今天用golang刷题的时候,代码如下:
func maxArea(height []int) int {
res := 0
max := []int
for i,_ := range max{
if res < max[i] {res = max[i]}
}
return res
}
为简单描述问题,把中间不相关的代码省略了;
报错:error:runtime error:index out of range [0] with length 0
,报错指向第五行;
问题原因:max数组初始化时未给其分配内存空间;
问题修改:将第三行改为max := [len(height)]int
;
再次报错:non-constant array bound length
,报错指向第三行;
问题原因:len(height)
是一个变量,数组长度必须是恒定的常量;
问题修改:将第三行改为max := make([]int, len(height))
,问题解决。