665. Non-decreasing Array
Given an array with n integers, your task is to check if it could become non-decreasing by modifying at most 1 element.
We define an array is non-decreasing if array[i] <= array[i + 1] holds for every i (1 <= i < n).
Example 1:
Input: [4,2,3]
Output: True
Explanation: You could modify the first4to1to get a non-decreasing array.
Example 2:
Input: [4,2,1]
Output: False
Explanation: You can't get a non-decreasing array by modify at most one element.
Note: The n belongs to [1, 10,000].
非递减数列
给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。
我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),满足 array[i] <= array[i + 1]。
示例 1:
输入: [4,2,3]
输出: True
解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。
示例 2:
输入: [4,2,1]
输出: False
解释: 你不能在只改变一个元素的情况下将其变为非递减数列。
说明: n 的范围为 [1, 10,000]。
--------------------------------------------------- ---------------------------------------------------
关键就是当两元素nums[i - 1], nums[i]递减时
nums[i - 2], nums[ i- 1], nums[i]三元素之间的大小关系和变化关系
如果nums[i] > nums[i - 2],那么让nums[i - 1] = nums[i] 即可 如[4, 6, 5] 变为[4, 5, 5]
如果nums[i] < nums[i - 2],那么让nums[i] = nums[i - 1]即可, 如[4, 5, 3] 变为[4, 5, 5]
更改多于一次直接返回False
class Solution:
def checkPossibility(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
modified = False for i in range(len(nums)):
if i > 0:
if nums[i] < nums[i - 1]:
if modified:
return False
if i > 1:
if nums[i] < nums[i - 2]:
nums[i] = nums[i - 1]
else:
nums[i - 1] = nums[i] else:
nums[i - 1] = nums[i]
modified = True
return True
665. Non-decreasing Array的更多相关文章
- drawer principle in Combinatorics
Problem 1: Given an array of real number with length (n2 + 1) A: a1, a2, ... , an2+1. Prove that th ...
- Maximum Width Ramp LT962
Given an array A of integers, a ramp is a tuple (i, j) for which i < j and A[i] <= A[j]. The ...
- Codeforces 1291 Round #616 (Div. 2) B
B. Array Sharpening time limit per test1 second memory limit per test256 megabytes inputstandard inp ...
- 5403. Find the Kth Smallest Sum of a Matrix With Sorted Rows
You are given an m * n matrix, mat, and an integer k, which has its rows sorted in non-decreasing or ...
- LeetCode 665. 非递减数列(Non-decreasing Array)
665. 非递减数列 665. Non-decreasing Array 题目描述 给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列. 我们是 ...
- 【Leetcode_easy】665. Non-decreasing Array
problem 665. Non-decreasing Array 题意:是否能够将数组转换为非减数组. solution: 难点在于理解如何对需要修改的元素进行赋值: class Solution ...
- 【LeetCode】665. 非递减数列 Non-decreasing Array(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 公众号:每日算法题 本文关键词:数组,array,非递减,遍历,python,C++ 目录 题目描述 题目大意 解题方法 一.错误代码 二.举例分析 ...
- 665. Non-decreasing Array - LeetCode
Question 665. Non-decreasing Array Solution 题目大意: 思路:当前判断2的时候可以将当前元素2变为4,也可以将上一个元素4变为2,再判断两变化后是否满足要求 ...
- LeetCode 665. Non-decreasing Array (不递减数组)
Given an array with n integers, your task is to check if it could become non-decreasing by modifying ...
- Leetcode 665. Non-decreasing Array(Easy)
Given an array with n integers, your task is to check if it could become non-decreasing by modifying ...
随机推荐
- uva-11054-模拟
题意:一条街有许多卖酒的店,有些店需要进酒,有些店需要出酒,所有的店的需求总和为0,问怎么移动,使酒的移动总和最少. 模拟,考虑一家店的需求为xi,无论是从左或者是从右或者其他形式,让xi->0 ...
- LINUX系统备份还原
1.Linux系统备份工具 REAR (RELAX-AND-RECOVER) https://blog.csdn.net/qq43748322/article/details/78710754?loc ...
- spark读取文本数据测试
已知文本有三列,整理数据,并导入mysql scala> import org.apache.spark.sql.SQLContextimport org.apache.spark.sql.SQ ...
- js/jquery this 坑
重要:js onclick() 函数中,取不到this !!! 错误的写法: function test(){ $(this).parent().addClass('active') } 正确的写法是 ...
- RAD Tokyo 10.2.2
TDialogService类 如果您是使用比较新的RAD Studio版本. 那么您应该开始改用FMX.DialogService程序单元中TDialogService类别的类别方法来取代以前的Me ...
- keyword模块
导入关键字模块 import keyword 列出当前系统中Python的关键字 >>> keyword.kwlist ['and', 'as', 'assert', 'break' ...
- How to start a VirtualBox VM headless in Windows 10
If you wanted to start a VirtualBox VM headless (no UI) in the past, you needed additional tools. I ...
- 如何启用windows8, windows10中被停用的远程桌面,如何连接windows10远程桌面?
针对windows8.x中文版以及win10无远程桌面功能的解决办法: 第一步到一个网站上下载一个工具包. 这个是开源的.可以放心使用.下载地址: https://github.com/binarym ...
- zabbix server配置文件参数详解
AlertScriptsPath默认值:/usr/local/share/zabbix/alertscripts说明:告警脚本目录 AllowRoot默认值:0 说明:是否允许使用root启动,0:不 ...
- LeetCode OJ 450. Delete Node in a BST
Given a root node reference of a BST and a key, delete the node with the given key in the BST. Retur ...