new
题目
下面这段代码能否通过编译?
func main() {
list := new([]int)
list = append(list, 1)
fmt.Println(list)
}
答案
过于简单,new()的返回值是[]int类型的指针且为nil,对nil不可操作
最大升序子数组和
题目
给你一个正整数组成的数组 nums ,返回 nums 中一个 升序 子数组的最大可能元素和。[难度:简单]
示例:
输入:nums = [10,20,30,5,10,50]
输出:65
解释:[5,10,50] 是元素和最大的升序子数组,最大元素和为 65 。
解答
func maxAscendingSum(nums []int) int {
total,max:=0,0
for index,val:=range nums{
// 第一个数直接加入total
// 满足递归的数加入total
if index==0 || val>nums[index-1]{
total+=val
if max<total{
max=total
}
}else{
// 不满足递增,将total初始化为val,接着往后遍历
total=val
}
}
return max
}

版权声明:本文为General_zy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。