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.mzph.cn/diannao/79577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OOM 未触发 JVM 崩溃的可能原因

1. OOM 未触发 JVM 崩溃的可能原因‌ (1) 未配置 JVM 参数强制崩溃‌ 关键参数缺失‌&#xff1a; 若未添加 -XX:CrashOnOutOfMemoryError&#xff0c;JVM 在 OOM 时可能仅抛出异常并正常退出&#xff0c;而非崩溃&#xff0c;因此不会生成 hs_err_pid.log。 # 正确配置示例&…

Axios 介绍及使用指南

本文将基于 Axios 原理&#xff0c;安装及封装方面展开描述&#xff0c;话不多说&#xff0c;现在发车&#xff01; 一、原理 Axios 中文文档&#xff1a;起步 | Axios中文文档 | Axios中文网 赛前科普&#xff1a; 下文将涉及到三个关键词&#xff1a;Axios&#xff0c;Ajax…

C#插件与可扩展性

外接程序为主机应用程序提供了扩展功能或服务。.net framework提供了一个编程模型,开发人员可以使用该模型来开发加载项并在其主机应用程序中激活它们。该模型通过在主机和外接程序之间构建通信管道来实现此目的。该模型是使用: System.AddIn, System.AddIn.Hosting, System.…

Melos 发布pub.dev

确保登录 置登录状态 按照提示操作&#xff0c;先运行&#xff1a; bash dart pub logout 这会清除当前的&#xff08;损坏的&#xff09;登录信息。 然后再重新登录&#xff1a; bash dart pub login 这一次它应该会在浏览器中打开 Google 登录页面&#xff0c;完成登…

4.黑马学习笔记-SpringMVC(P43-P47)

1.SpringMVC简介 SpringMVC技术&#xff08;更少的代码&#xff0c;简便&#xff09;与servlet技术功能相同&#xff0c;属于web层开发技术。 SpringMVC是一种基于java实现MVC模型的轻量级web框架。 轻量级指的是&#xff08;内存占用比较低&#xff0c;运行效率高&#xff09;…

【特殊场景应对1】视觉设计:信息密度与美学的博弈——让简历在HR视网膜上蹦迪的科学指南

写在最前 作为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算有用,大家基本都能拿到想要的offe…

CentOS 7 linux系统从无到有部署项目

环境部署操作手册 一、Maven安装与配置 1. 下载与解压 下载地址&#xff1a;https://maven.apache.org/download.cgi?spm5238cd80.38b417da.0.0.d54c32cbnOpQh2&filedownload.cgi上传并解压解压命令&#xff1a; tar -zxvf apache-maven-3.9.9-bin.tar.gz -C /usr/loc…

Odoo:免费开源的轧制品行业管理软件

Odoo免费开源的轧制品行业管理软件能够帮助建材、电线电缆、金属、造纸包装以及纺织品行业提高韧性和盈利能力&#xff0c;构筑美好未来。 文 &#xff5c; 开源智造&#xff08;OSCG&#xff09;Odoo金牌服务 提高供应链韧性&#xff0c;赋能可持续发展 如今&#xff0c;金属…

51单片机实验二:数码管静态显示

目录 一、实验环境与实验器材 二、实验内容及实验步骤 1.单个数码管显示 2.六个数码管依次从0~F变换显示 3.proteus仿真 一、实验环境与实验器材 环境&#xff1a;Keli&#xff0c;STC-ISP烧写软件,Proteus. 器材&#xff1a;TX-1C单片机&#xff08;STC89C52RC…

学术AI工具推荐

一、基础信息对比 维度知网研学AI&#xff08;研学智得AI&#xff09;秘塔AIWOS AI开发公司同方知网&#xff08;CNKI&#xff09;上海秘塔网络科技Clarivate Analytics是否接入DeepSeek✅ 深度集成&#xff08;全功能接入DeepSeek-R1推理服务&#xff09;✅ 通过API接入DeepS…

冰川流域提取分析——ArcGIS pro

一、河网提取和流域提取视频详细GIS小熊 || 6分钟学会水文分析—河网提取&#xff08;以宜宾市为例&#xff09;_哔哩哔哩_bilibili 首先你要生成研究区域DEM&#xff0c;然后依次是填洼→流向→流量→栅格计算器→河网分级→栅格河网矢量化&#xff08;得到河网.shp&#xff…

【物联网-RS-485】

物联网-RS-485 ■ RS-485 连接方式■ RS-485 半双工通讯■ RS-485 的特点 ■ RS-485 连接方式 ■ RS-485 半双工通讯 一线定义为A 一线定义为B RS-485传输方式&#xff1a;半双工通信、&#xff08;逻辑1&#xff1a;2V ~ 6V 逻辑0&#xff1a;-6V ~ -2V&#xff09;这里的电平…

解析检验平板:设备还是非设备?深入了解其功能与应用(北重铸铁平台厂家)

检验平板通常被归类为设备&#xff0c;因为它们具有特定的功能&#xff0c;并且被用于测试和评估其他设备或产品的性能和质量。检验平板通常具有平坦的表面&#xff0c;用于放置要进行测试或检验的物品。它们可以用于测量尺寸、形状、平整度、表面光洁度等参数。 检验平板的应…

6.数据手册解读—运算放大器(二)

目录 6、细节描述 6.1预览 6.2功能框图 6.3 特征描述 6.3.1输入保护 6.3.1 EMI抑制 6.3.3 温度保护 6.3.4 容性负载和稳定性 6.3.5 共模电压范围 6.3.6反相保护 6.3.7 电气过载 6.3.8 过载恢复 6.3.9 典型规格与分布 6.3.9 散热焊盘的封装 6.3.11 Shutdown 6.4…

2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(六级)真题

青少年软件编程&#xff08;Python&#xff09;等级考试试卷&#xff08;六级&#xff09; 分数&#xff1a;100 题数&#xff1a;38 答案解析&#xff1a;https://blog.csdn.net/qq_33897084/article/details/147341458 一、单选题(共25题&#xff0c;共50分) 1. 在tkinter的…

centos与ubuntu系统版本介绍

CentOS与Ubuntu系统镜像版本介绍 前言CentOS官网镜像历史版本阿里云镜像总结 Ubuntu官网系统总结 最后 前言 在我准备给虚拟机&#xff08;我使用的是vritualbox&#xff09;安装一个Linux系统&#xff0c;不知道该选择centos还是Ubuntu。并且在下载镜像的过程中对系统的版本、…

Go 语言中的 package main、 func main() 和main.go的使用规范

本文旨在解释 Go 语言中 package main 、 func main() 和main.go的关系及其使用规则,解决如下典型问题: 是否可以在一个项目中定义多个 func main()?是否可以在非 package main 中写 func main()?多个文件中都写 func main() 会冲突吗?main.go是必须的命名方式吗?正确的结…

MySQL启动Failed to start LSB: start and stop MySQL

错误呈现 数据库初始化 删除 mysql/data中的文件 在对数据库重新进行初始化之前&#xff0c;需要事先删除 /usr/local/mysql/data目录下已经生成的文件。 查看 ll /usr/local/mysql/data/#删除 rm -rf /usr/local/mysql/data/* 删除 使用以下命令对数据库初始化 /usr/local/m…

服务器架构:SMP、NUMA、MPP及Docker优化指南

文章目录 引言 一、服务器架构基础1. SMP&#xff08;对称多处理&#xff0c;Symmetric Multiprocessing&#xff09;2. NUMA&#xff08;非统一内存访问&#xff0c;Non-Uniform Memory Access&#xff09;3. MPP&#xff08;大规模并行处理&#xff0c;Massively Parallel Pr…

【HarmonyOS NEXT】多目标产物构建实践

目录 什么是多产物构建 如何定义多个构建产物 如何在项目中使用 参考文章 什么是多产物构建 在鸿蒙应用开发中&#xff0c;一个应用可定义多个 product&#xff0c;每一个 product 对应一个定制的 APP 包&#xff0c;每个 product 中支持对 bundleName、bundleType、输出产…