领扣LintCode算法问题答案-1099. 不下降数组
发布日期:2021-06-30 17:09:51
浏览次数:3
分类:技术文章
本文共 1266 字,大约阅读时间需要 4 分钟。
领扣LintCode算法问题答案-1099. 不下降数组
目录
1099. 不下降数组
描述
给定一个包含 n 个整数的数组,你的任务是检测在改变至多一个元素的情况下,它是否可以变成不下降的。
我们定义一个数组是不下降的,如果 array[i] <= array[i + 1] 对于每一个 i (1 <= i < n) 都成立。
- n 属于 [1, 10,000].
样例 1:
输入: [4,2,3]输出: True解释: 你可以把第一个4修改为1从而得到一个不下降数组。
样例 2:
输入: [4,2,1]输出: False解释: 你无法得到一个不下降数组,在修改至多一个元素的情况下。
题解
public class Solution { /** * @param nums: an array * @return: if it could become non-decreasing by modifying at most 1 element */ public boolean checkPossibility(int[] nums) { // Write your code here if (nums.length <= 2) { return true; } boolean changed = nums[0] > nums[1]; if (changed) { nums[0] = nums[1]; } for (int i = 2; i < nums.length; i++) { if (nums[i] < nums[i - 1]) { if (!changed) { if (nums[i] < nums[i - 2]) { nums[i] = nums[i - 1]; } else { nums[i - 1] = nums[i]; } changed = true; } else { return false; } } } return true; }}
鸣谢
非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。
欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。
转载地址:https://le-yi.blog.csdn.net/article/details/108809479 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年05月03日 08时03分17秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
docker安装oracle(win10)
2019-04-30
Cloudera Quickstart & HUE
2019-04-30
HUE
2019-04-30
CDH
2019-04-30
行为树 BT
2019-04-30
Cassandra & CQL
2019-04-30
Oracle数据库
2019-04-30
Oracle数据库命令
2019-04-30
plsql
2019-04-30
有限状态机FSM
2019-04-30
Win10 Docker
2019-04-30
Python绘制动画并保存为gif/mp4 (matplotlib)
2019-04-30
PRM概率路线图
2019-04-30
ROS(六)——订阅者Subscriber的编程实现(C++ & Python)
2019-04-30
ROS(七)——话题消息的定义与使用
2019-04-30
yolov3入门实战
2019-04-30
B树 & B+树
2019-04-30
Node-Red(一)——简介与安装
2019-04-30
representation learning 表示学习/表征学习
2019-04-30
Haar特征
2019-04-30