665 Non-decreasing Array (Easy)(kotlin)

给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。

我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。

题目来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/non-decreasinarray

    fun checkPossibility(nums: IntArray): Boolean {
        if(nums.size<2){
            return true
        }
        var temp = false

        for (i in 0 until  nums.size-1){

            if(nums[i]>nums[i+1]){
                if(temp){
                    return false
                }
                temp=true
                if(i==0){

                    nums[i]=nums[i+1]
                }else if(nums[i-1]>nums[i+1]){

                    nums[i+1]=nums[i]
                }else if(nums[i-1]<nums[i+1]){

                    nums[i]=nums[i-1]
                }

            }
        }
        return  true
    }

//思路是如果碰到一个不符合条件的,我们现把他变成符合条件的,如果碰到第二个非递减则认为不可改变一个数字使其达到递减序列,这居然是easy,读题不仔细,导致卡了一天。写代码还是刷题都要细心哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值