java数据结构与算法刷题-----LeetCode665. 非递减数列

第十篇|网络子系统 ②——无损以太网、PFC/ECN、DCQCN 与拥塞可视化 网络部分了解了解 阅读详情
java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.youkuaiyun.com/grd_java/article/details/123063846

文章目录

在这里插入图片描述

解题思路:时间复杂度O( n n n),空间复杂度O( 1 1 1)
  1. 如果两个相邻的数x和y不满足nums[i] <= nums[i+1],则需要修改一次
  2. 如果这样的修改进行两次,则返回false
  3. 特殊情况:我们现在的y是下一次的x。所以如果y是需要本次修改的值,则我们需要对其进行操作

如果当前i位置的x不在开头,也就是i前面还有元素 i - 1的话(记为pre)
则状况为 pre <= x > y 例如 3 <= 4 > 2. 无法构成升序
如果y 比 pre 小,就令y = x 这样就依然满足升序,变为pre <= x = y. 也就是 3 <= 4 = 4
但是如果y > = pre 例如 3 5 4 或者 3 5 3. 那么不需要修改y 而是修改x 为 3. 也就是 3 3 4 或 3 3 3
但是下一次的x就是现在的y,所以这一步对x的修改,没什么用,可以省略

代码

在这里插入图片描述

class Solution {
    public boolean checkPossibility(int[] nums) {
        int n = nums.length,current = 0;
        for(int i = 0;i < n-1;i++){
            int x = nums[i], y = nums[i+1];
            if(x > y) {//x > y 则无法构成升序
                current++;//修改一个数
                if(current > 1) return false;//如果需要修改两次以上,则返回false
                //如果当前i位置的x不在开头,也就是i前面还有元素 i - 1的话(记为pre)
                //则状况为 pre <= x > y   例如 3 <= 4 > 2. 无法构成升序
                //如果y 比 pre 小,就令y = x 这样就依然满足升序,变为pre <= x = y. 也就是 3 <= 4 = 4
                if(i > 0 && y < nums[i-1]) nums[i+1] = x; 
                //但是如果y > = pre 例如 3 5 4 或者 3 5 3. 那么不需要修改y 而是修改x 为 3. 也就是 3 3 4 或 3 3 3
                //但是下一次的x就是现在的y,所以这一步对x的修改,没什么用,可以省略
            }
        }
        return true;
    }
}
基于Simulink的间接功率控制的矩阵变换器 通过上述步骤,我们成功设计并实现了基于 Simulink 的间接功率控制的矩阵变换器仿真模型。该模型能够通过控制输入电流和输出电压,实现对功率的间接控制,适用于电机驱动、可再生能源系统、电力传输等领域。通过虚拟场景仿真、参数优化和性能评估,验证了系统的稳定性和高效性,并通过调整 PI 控制器参数和优化调制算法,进一步提升了系统的性能。 阅读详情

相关推荐

gerrit 配置 ----Gitweb集成

此外,为了让用户能够查看任何关于 gitweb 的信息 项目中,用户必须能够阅读所有引用(包括 refs/meta/config,refs/meta/dashboards/*等)。或者,如果Gerrit通过反向代理送达,它可以 为gitweb的链接生成不同的URL(需要的) 在网页服务器上重写为)。Gerrit 代码审查可以管理和生成指向 gitweb 的超链接, 允许用户从Gerrit内容跳转到相同信息, 但由 gitweb 显示。默认为,这是 Linux 发行版上“gitweb”包的常见安装路径。

QuanQuanYuanXin的博客 1406

【LeetCode】665. 非递减数列 Non-decreasing Array(Python & C++)

【LeetCode】665. Non-decreasing Array 解题报告 标签: LeetCode 题目地址:https://leetcode.com/problems/non-decreasing-array/description/ 题目描述: Given an array with n integers, your task is to check if it cou

负雪明烛 2179

MagicDraw-用例图

MagicDraw-用例图

木头征的博客 3133

Leet_code---665非递减数列---C语言版

题目描述:给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 &lt;= i &lt; n),满足 array[i] &lt;= array[i + 1]。示例 1:输入: [4,2,3] 输出: True 解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。 示例 2:...

jack_c_monkey的博客 1364

103:vue+cesium 设置球体水部分颜色为黄色

本示例在 Vue + cesium 项目中设置球体水部分颜色为黄色。这里的操作是将球体内部设置为空的,在地球内部添加一个黄色的圆球,这样水的部分就被突出出来了。直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果.

大剑师兰特的GIS世界 626

leetcode665

class Solution { public: bool checkPossibility(vector<int>& nums) { int cnt = 0; for(int i = 0;i<nums.size()-1;i++) { if(nums[i]>nums[i+1]) ...

剑似生平 207

小梅哥Xilinx ZYNQ学习笔记2——38译码器

译码器(Decoder)是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译码器两大类。本设计的是通用译码器。三八译码器,即是 3 种输入状态翻译成 8 种输出状态。1.case开始开始,endcase结束;2.数字声明时,合法的基数格式有 4 中,包括:十进制('d 或 'D),十六进制('h 或 'H),二进制('b 或 'B),八进制('o 或 'O)。数值可指明位宽,也可不指明位宽。

m0_51430584的博客 1636

LeetCode 665. 不增加的数组

Discription给定一个包含n个整数的数组,您的任务是通过修改最多1个元素来检查它是否可以变为不减少。1<=n<=10000Example 1:Input: [4,2,3] Output: TrueExample 2:Input: [4,2,1] Output: FalseSolution找到下降的位置,判断第一个修改第一个位置还是修改第二个位置bool checkPossibility(

sunlanchang的博客 1620

内容审核与文本安全技术综述:检测、过滤与对齐

检测质量高度依赖数据。毒性/仇恨/冒犯语言检测领域形成了一批经典数据集,但它们的标签体系差异很大:例如 OLID(OffensEval)强调“是否冒犯—冒犯类型—目标对象”三层结构;HateXplain 在“hate/offensive/normal”三分类之外,还提供目标群体与人类标注的 rationale span;RealToxicityPrompts 则不做离散标签,而是用毒性分数来研究“模型续写时的毒性退化”。ACL 汇编。

nmdbbzcl的博客 1372

virtuoso:layout如何做flat修drc

有些drc在virtuoso layout中修更节省时间,比如遇到一些via array需要做删改时,发现工具把via array做成了一个cell,如图。去改cell可能会影响很多via,所以最好的办法是做flat,去调整cut,比如删除。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 342

【Leetcode】665. Non-decreasing Array(Easy)

1.题目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] &lt;= array[i + 1] holds for...

不想做菜鸟的小螃蟹 481

Open3D点云数据处理(二):读写点云,你真的会吗?

本文详细介绍了open3d加载点云、保存点云的方法,同时打印点云坐标、颜色、法向量等字段信息。

孙悟空 2604

Java实现 LeetCode 665 非递减数列(暴力)

665. 非递减数列 给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),总满足 array[i] <= array[i + 1]。 示例 1: 输入: nums = [4,2,3] 输出: true 解释: 你可以通过把第一个4变成1来使得它...

南 墙 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Leetcode刷题java之665. 非递减数列

执行结果: 通过 显示详情 执行用时 :1 ms, 在所有 Java 提交中击败了100.00% 的用户 内存消耗 :39.7 MB, 在所有 Java 提交中击败了93.11%的用户 题目: 给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i &l...

逆水行舟,不进则退 552

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

LeetCode刷题系列 -- 665. 非递减数列

题目: 给你一个长度为n的整数数组,请你判断在 最多 改变1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的:对于数组中所有的i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/non-decreasing-array 示例 1: 输入: nums = [4,2,3] 输出: true 解...

qq_33775774的博客 255

Leetcode 665.非递减数列

Leetcode 665.非递减数列 非递减数列 给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 示例 1: 输入: nums = [4,2,3] 输出: true 解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。 示例 2: 输入: nums = [4,2,1] 输出:

EIUC_Thread的博客 134

leetcode - 665 -非递减数列 -- java版

文章目录题目代码 题目 给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),总满足 array[i] <= array[i + 1]。 示例 1: 输入: nums = [4,2,3] 输出: true 解释: 你可以通过把第一个4变成1来使得...

lingle1的博客 391

力扣-665非递减数列

题目 1.描述 给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 2.示例 输入: nums = [4,2,3] 输出: true 解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。 输入: nums = [4,2,1] 输出: false 解释: 你不能在只改变一个元素的情况下将

dychf的博客 294

LeetCode 665. 非递减数列

目录结构 1.题目 2.题解 1.题目 给你一个长度为n的整数数组,请你判断在 最多 改变1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的:对于数组中所有的i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 示例: 输入: nums = [4,2,3] 输出: true 解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。 输入: nums = [4,2,1] 输出: fals...

HarvestWu的博客 293

Leetcode 665. 非递减数列 665. Non-decreasing Array

给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),满足 array[i] <= array[i + 1]。 示例 1: 输入: [4,2,3] 输出: True 解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。 示例 2: 输...

歌古道的博客 265

算法面试题《精选题目+题解分类汇总》

从去年年底开始想准备找实习,于是就开始懒散的复习。 大二学过数据结构,对基本的算法理论和数据结构有过了解,但是感觉又基本都交还给老师了 于是开始零散的复习,在leetcode上按照通过率由高到低开始刷,发现自己连通过率最高的几个题都吃力,几乎每个题都要去看题解然后慢慢消化 刷了十多个题就放弃了,这种盲目的玩法真的太伤自信心 于是就去看书,先复习下基础,当然就盲目看书还是没学到什么东西 之后又买了慕...

clonechen 2917

665. 非递减数列——Java

给你一个长度为 n 的整数数组,请你判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 示例 1: 输入: nums = [4,2,3] 输出: true 解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。 示例 2: 输入: nums = [4,2,1] 输出: false 解释: 你不能在只改变一个元素的情况下将其变

lz_Shawn的博客 279

力扣665题:非递减数列

给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1] 示例 1: 输入: nums = [4,2,3] 输出: true 解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。 示例 2: 输入: nums = [4,2,1] 输出: false 解释: 你不能在只改变一个元素的情况下将其

桃花er的博客 166

leetcode #665 非递减数列 javascrpit有图简单易懂

leetcode非递减数列 题目: 给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 示例 1: 输入: nums = [4,2,3] 输出: true 解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。 示例 2: 输入: nums = [4,2,1] 输出: false

南南东的博客 296
上一篇: java数据结构与算法刷题-----LeetCode392. 判断子序列
下一篇: java数据结构与算法刷题-----LeetCode763. 划分字母区间
ydenergy_殷志鹏
博客等级 码龄7年 5887粉丝 543原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ydenergy_殷志鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值