当前位置: 首页 > news >正文

day45——非递减数列(LeetCode-665)

题目描述

给你一个长度为 n 的整数数组 nums ,请你判断在 最多 改变 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
解释: 你不能在只改变一个元素的情况下将其变为非递减数列。

提示:

  • n == nums.length
  • 1 <= n <= 104
  • -105 <= nums[i] <= 105

解决方案:

1、采用计数器判断次数,超过次数,即返回值

2、贪心策略:三个一起判断,进而统计次数

函数源码:

class Solution {
public:bool checkPossibility(vector<int>& nums) {int sum=0;for(int i=1;i<nums.size();i++){if(nums[i-1]>nums[i]){sum++;if(sum>=2) return false;if(i-2>=0 && nums[i-2]>nums[i]){nums[i]=nums[i-1];                }else nums[i-1]=nums[i];}}return sum<=1;}
};
http://www.xdnf.cn/news/16921.html

相关文章:

  • QT项目打包
  • Multi Agents Collaboration OS:文档合规性及质量检测助手设计及实践
  • 【KWDB 创作者计划】_算法篇---Stockwell变换
  • OpenAI重返巅峰:o3与o4-mini引领AI推理新时代
  • 面试经验杂谈
  • onlyoffice关闭JWT后依然报错如何解决?
  • Maven 简介(图文)
  • 文件系统的npu和内核的npu有什么区别
  • 双层Key缓存
  • 【dify实战】agent结合deepseek实现基于自然语言的数据库问答、Echarts可视化展示、Excel报表下载
  • 数据结构--并查集-高效处理连通性问题
  • windows测试
  • Android 13 关闭屏幕调节音量大小
  • LabVIEW油气井井下集成监测系统
  • 神经网络优化 - 小批量梯度下降
  • 消防营区管控:从智能仓储、装备管理、应急物资调用等多维度出发
  • 每日一题(8) 求解矩阵最小路径和问题
  • android的配置检查 查看安卓设备配置
  • LeetCode:DFS综合练习
  • 在服务器上安装redis
  • Kaamel隐私与安全分析报告:Apple Intelligence隐私保护机制
  • MySQL 表varchar字段长度估算
  • 预防网站被劫持
  • WordPress自定义页面与文章:打造独特网站风格的进阶指南
  • 嵌入式C语言位操作的几种常见用法
  • springcloud alibaba
  • FreeRTOS菜鸟入门(七)·创建任务·静态任务创建
  • P10416 [蓝桥杯 2023 国 A] XYZ
  • 如何精通C++编程?
  • shell脚本