不相邻子序列和最大值
作者:互联网
一个无序数组找其子序列构成的和最大,要求子序列中的元素在原数组中两两都不相邻:
func GetSum(nums []int)int { len:=len(nums) if len==0{ return -1 } if len==1{ return nums[0] } if len==2{ return getMax(nums[0],nums[1]) } pre2:=nums[0] pre1:=getMax(nums[0],nums[1]) now:=0 for i:=2;i<len;i++{ now=getMax(pre2+nums[i],pre1) pre2=pre1 pre1=now } return now } func getMax(a,b int)int{ if a>=b{ return a }else{ return b } }
标签:return,nums,int,最大值,len,相邻,getMax,序列 来源: https://www.cnblogs.com/-citywall123/p/16342437.html