665. 非递减数列

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

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

示例 1:

输入: nums = [4,2,3]

输出: true

解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。

示例 2:

输入: nums = [4,2,1]

输出: false

解释: 你不能在只改变一个元素的情况下将其变为非递减数列。

说明:

1 <= n <= 10 ^ 4

  • 10 ^ 5 <= nums[i] <= 10 ^ 5

    通过次数16,232提交次数73,484
class Solution {
public boolean checkPossibility(int[] nums) {
if(nums.length<=2) return true;
int i;
boolean flag = true;
for(i = 0; i< nums.length-1; i++){
if(nums[i]>nums[i+1]){
if(flag){
if(i>0 && nums[i-1]>nums[i+1]){
//前面的值大就让我下一个等于我当前的
nums[i+1] = nums[i];
} else{
//前面的小就让后面这俩相等
nums[i] = nums[i+1];
}
flag = false;
} else{
return false;
}
}
}
return true;
}
}

最新文章

  1. 使用po模式读取豆瓣读书最受关注的书籍,取出标题、评分、评论、题材 按评分从小到大排序并输出到txt文件中
  2. 如何使用yum下载rpm包
  3. no CONFIG_BQL
  4. 拿到阿里,网易游戏,腾讯,smartx的offer的过程
  5. js 仿phptrim
  6. Maven学习 (一) 搭建Maven环境
  7. servlet 文件上传简易版
  8. 初学java之接口基础
  9. Java Notes
  10. 【MySQL】Java对SQL时间类型的操作(获得当前、昨天、前年。。时间)
  11. Hadoop on Mac with IntelliJ IDEA - 1 解决input path does not exist问题
  12. 手势识别官方教程(3)识别移动手势(识别速度用VelocityTracker)
  13. hdu 1587
  14. [转]Java虚拟机类加载机制浅谈
  15. jQuery中的getJSON()
  16. mac 上面安装mysql-python
  17. Python -- OOP高级 -- 定制类
  18. Android 4.4以上使用HttpURLConnection底层使用OkHttp实现的源码分析
  19. python摸爬滚打之day032 管道 数据共享 进程池
  20. 图解HTTP学习笔记

热门文章

  1. JDBC07 事务
  2. php反序列化(昨天的补充)
  3. Python中的时间与日期
  4. sh: react-scripts: command not found after running npm start
  5. 4.4 Go goto continue break
  6. linux常用命令---系统辅助命令
  7. sourcetree 拉取 一直让输入密码
  8. 两圆相交求面积 hdu5120
  9. jdk8 Collections#sort究竟做了什么
  10. CEF 与 QML 类比