首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Golang Leetcode 665. Non-decreasing Array.go

Golang Leetcode 665. Non-decreasing Array.go

作者头像
anakinsun
发布2019-04-22 15:55:13
发布2019-04-22 15:55:13
4980
举报
文章被收录于专栏:学习日记学习日记

对于给定的数组 a1,a2,a3,a4,a5,… 假设a4 < a3. 为了实现数组的单调非减,我们必须改变a4和a3其中的一个值,与此同时,为了后续计算的需要,我们应当尽可能使a4相对较小。此时,究竟是改变a3,还是a4取决于a2值的大小。我们假设a4 < a3, 那么a3 >= a2。 因此,如果a4 < a2, 那么我们将改变a4, 最好的选择就是令 a4 = a3; 否则的话,我们令a3 = a4, 但是这种情况我们并不需要考虑

code

代码语言:javascript
复制
func checkPossibility(nums []int) bool {
	if len(nums) <= 1 {
		return true
	}
	found := false
	for i := 1; i < len(nums); i++ {
		if nums[i] < nums[i-1] {
			if found {
				return false
			} else {
				if i-2 >= 0 && nums[i] < nums[i-2] {
					nums[i] = nums[i-1]
				}
				found = true
			}
		}
	}
	return true
}

更多内容请移步我的repo:https://github.com/anakin/golang-leetcode

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年04月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • code
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档