最长连续递增序列-贪心算法-基于Go

互联网 2021/4/8 12:38:25

给定一个未经排序的整数数组,找到最长且连续递增的子序列,并返回该序列的长度。如: [1,2,3,2,3,4,3,4,5,6,7] 返回5.贪心算法func findLength(nums []int)int{var start = 0var maxLength = 0for i:=1;i<len(nums);i++{if nums[i]<=nums[i-1]{start = i}maxLengt…

给定一个未经排序的整数数组,找到最长且连续递增的子序列,并返回该序列的长度。

如:
[1,2,3,2,3,4,3,4,5,6,7]
返回5.

  • 贪心算法
func findLength(nums []int)int{
	var start = 0
	var maxLength = 0
	for i:=1;i<len(nums);i++{
		if nums[i]<=nums[i-1]{
			start = i
		}
		maxLength = int(math.Max(float64(maxLength),
							float64(i-start+1)))
	}

	return maxLength
}
  • 双指针
func findLength2(nums []int)int{
	var low = 0
	var high = 1
	var n = len(nums)
	var maxLength = 0
	for low<n && high<n{
		if nums[high]<=nums[high-1]{
			low = high
		}
		maxLength = int(math.Max(float64(high-low+1),
								float64(maxLength)))
		high++
	}

	return maxLength
}
随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[最长连续递增序列-贪心算法-基于Go]http://www.zyiz.net/tech/detail-153798.html

上一篇:django之--模板层

下一篇:Go泛型语法又出“幺蛾子”:引入type set概念和移除type list中的type关键字

赞(0)

共有 条评论 网友评论

验证码: 看不清楚?
    关注微信小程序
    程序员编程王-随时随地学编程

    扫描二维码或查找【程序员编程王】

    可以随时随地学编程啦!

    技术文章导航 更多>
    扫一扫关注最新编程教程