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

2216. 美化数组的最少删除数

我的做法:
使用一个index作为检查坐标,当index为偶数时检查当前数和后一个数是否相等,相等的话,后一个数设置为-1,注意如果相等,要把相等的数保留下来last,以便接下来检查,防止出现2333这种连续的情况,但是当接下来检查通过要及时把保留数last变回初识值。另外要注意遍历到数组最后一个元素时,就不用判断了。

class Solution {
public:int minDeletion(vector<int>& nums) {int cnt = 0;int n = nums.size();int index = -1, last = -1;for (int i = 0; i < n; ++i) {if (nums[i] == last && index % 2 == 0) {nums[i] = -1;++cnt;} else if (nums[i] != -1) {++index;} else {continue;}if (i == n - 1) break;if (index % 2 == 0) {if (nums[i] == nums[i + 1]) {nums[i + 1] = -1;last = nums[i];++cnt;} else {continue;}} else {continue;}}if ((index + 1) % 2 != 0) {++cnt;}return cnt;}
};

其中,很多continue语句可以省略。
更简单的写法:
其实相当于用cnt代替index进行计数了,变换后的数组长度等于n-cnt

class Solution {
public:int minDeletion(vector<int>& nums) {int n = nums.size(), cnt = 0;for (int i = 0; i < n; ++i) {if (i < n - 1 && (i - cnt) % 2 == 0 && nums[i] == nums[i + 1]) {++cnt;}}return (n - cnt) % 2 == 0 ? cnt: cnt + 1;}
};

相关文章:

2216. 美化数组的最少删除数

我的做法&#xff1a; 使用一个index作为检查坐标&#xff0c;当index为偶数时检查当前数和后一个数是否相等&#xff0c;相等的话&#xff0c;后一个数设置为-1&#xff0c;注意如果相等&#xff0c;要把相等的数保留下来last&#xff0c;以便接下来检查&#xff0c;防止出现2…...

竞赛 题目:基于深度学习的人脸表情识别 - 卷积神经网络 竞赛项目 代码

文章目录 0 简介1 项目说明2 数据集介绍&#xff1a;3 思路分析及代码实现3.1 数据可视化3.2 数据分离3.3 数据可视化3.4 在pytorch下创建数据集3.4.1 创建data-label对照表3.4.2 重写Dataset类3.4.3 数据集的使用 4 网络模型搭建4.1 训练模型4.2 模型的保存与加载 5 相关源码6…...

基于安卓android微信小程序的好物分享系统

运行环境 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&a…...

【Spring Boot】使用WebSocket协议完成来单提醒及客户催单功能

1 WebSocket介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信(双向传输)——浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c; 并进行双向数据传输。 1.1 HTTP协议和WebSocket协议对比 1、HTTP是短…...

如何有效的禁止Google Chrome自动更新?

禁止Chrome自动更新 1、背景2、操作步骤 1、背景 众所周知&#xff0c;当我们在使用Selenium进行Web自动化操作&#xff08;如爬虫&#xff09;时&#xff0c;一般会用到ChromeDriver。然而Driver的更新速度明显跟不上Chrome的自动更新。导致我们在使用Selenium进行一些操作时就…...

OpenShift 4 - 部署 RHODS 环境,运行 AI/ML 应用(视频)

《OpenShift / RHEL / DevSecOps 汇总目录》 说明&#xff1a;本文已经在 OpenShift 4.14 RHODS 1.33 的环境中验证 文章目录 RHODS 简介安装 RHODS 环境运行环境说明用 RHODS Operator 安装环境创建 Jupyter Notebook 运行环境 开发调式 AI/ML 应用部署运行 AI/ML 应用视频参…...

MySQL 的执行原理(二)

5.3. MySQL 的查询成本 5.3. MySQL 的查询成本 MySQL 执行一个查询可以有不同的执行方案&#xff0c;它会选择其中成本最低&#xff0c;或者 说代价最低的那种方案去真正的执行查询。不过我们之前对成本的描述是非常模 糊的&#xff0c;其实在 MySQL 中一条查询语句的执行成本…...

postgres in (?,?) 和 =any(?) 用法/性能对比

刚刚回顾了一下 JDBC 操作 SQL Server 时如何传入列表参数&#xff0c;即如何给 in (?) 条件直接传入一个列表参数&#xff0c;然而本质上是不支持&#xff0c;最终不得不展开为 in (?, ?,...?) 针对每个元素单独设置参数&#xff0c;不定长的参数对于重用已编译 PreparedS…...

46. Qt Android调用Java代码进行辅助开发 -- 框架搭建

1. 说明 使用Qt进行android开发时,某种情况下使用C++的知识或者Qt提供的方法是无法满足功能需求的,即使通过各种手段能够勉强实现功能,也非常的麻烦。此时,就需要Java来辅助实现了。在Qt中提供了调用Java代码的接口,比较方便。本片博客先介绍如何搭建一个能够调用java代码…...

NX二次开发UF_CAM_PREF_set_logical_value 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_PREF_set_logical_value Defined in: uf_cam_prefs.h int UF_CAM_PREF_set_logical_value(UF_CAM_PREF_t pref, logical value ) overview 概述 This function sets the lo…...

docker下移除不使用的镜像、容器、卷、网络

Prune images docker image prune移除没有标签并且没有被容器引用的镜像&#xff0c;这种镜像称为 dangling(摇晃的) 镜像。 示例1&#xff1a;docker image prune 删除了redis&#xff0c;无标签且无引用 docker ps -a CONTAINER ID IMAGE COMMAND CREATED STA…...

C语言基本算法之选择排序

目录 概要&#xff1a; 代码如下 运行结果如下 概要&#xff1a; 它和冒泡排序一样&#xff0c;都是把数组元素按顺序排列&#xff0c;但是方法不同&#xff0c;冒泡排序是把较小值一个一个往后面移&#xff0c;选择排序则是直接找出最小值&#xff0c;可以这个说&#xff…...

服务器数据恢复—raid5上层NTFS分区误删除/格式化的数据恢复案例

NTFS是windows操作系统服务器应用最为广泛的文件系统之一。理论上&#xff0c;NTFS文件系统格式化操作虽然不会对数据造成太大的影响&#xff0c;但是有可能会出现部分文件目录结构丢失的情况。下面介绍一台服务器误操作导致raid5阵列上层的NTFS分区被格式化后如何逆向操作恢复…...

【漏洞复现】IP-guard WebServer 存在远程命令执行漏洞

漏洞描述 IP-guard是由溢信科技股份有限公司开发的一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危…...

人工智能学习阶段有哪些?

人工智能学习阶段有哪些? 人工智能是一个跨学科、跨领域的杂交学科&#xff0c;未来的趋势来看,人工智能的出现使人们的生活变得更美好、更便捷&#xff0c;许多小伙伴想学习人工智能&#xff0c;其实看似人工智能比较杂多&#xff0c;无从下手&#xff0c;我们只要从以下7个阶…...

vue 中为什么需要虚拟DOM、VDOM 是如何生成的、VDOM 如何做 diff 的?

一、vue 中为什么需要虚拟DOM 1.1本概念 基本上所有框架都引入了虚拟 DOM 来对真实 DOM 进行抽象&#xff0c;也就是现在大家所熟知的VNode 和VDOM Virtual DOM 就是用js 对象来描述真实 DOM&#xff0c;是对真实 DOM 的抽象&#xff0c;由于直接操作 DOM 性能低但是is 层的操…...

数据分析思维与模型:相关分析法

相关分析法是一种用于研究两个或多个变量之间关系强度和方向的统计方法。这种方法在多个领域&#xff0c;如经济学、心理学、社会科学和自然科学中都有广泛应用。其核心是通过计算相关系数来量化变量之间的相关性。以下是相关分析法的一些基本概念和步骤&#xff1a; 选择变量…...

【算法萌新闯力扣】:两句话中的不常见单词

力扣热题&#xff1a;两句话中的不常见单词 开篇 今天是备战蓝桥杯的第19天&#xff0c;今天到目前刷了4道力扣算法题。其中&#xff0c;这道题是对我来说收获最大的一道&#xff0c;让我更熟练地掌握了一些算法题中方法&#xff0c;于是来与大家分享一下。 题目链接: 884.两…...

Xilinx Zynq-7000系列FPGA任意尺寸图像缩放,提供两套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA图像处理方案FPGA图像缩放方案 3、设计思路详解HLS 图像缩放介绍 4、工程代码1&#xff1a;图像缩放 HDMI 输出PL 端 FPGA 逻辑设计PS 端 SDK 软件设计 5、工程代码2&#xff1a;图像缩放 LCD 输出PL 端 FPGA 逻辑设计PS 端 SDK 软件设…...

基于 Glibc 版本升级的 DolphinDB 数据查询性能优化实践

在高并发查询、查询需要涉及很多个分区的情况下&#xff0c;低版本的 glibc&#xff08;低于2.23&#xff09;会严重影响查询性能。需要升级 glibc 解决该问题优化性能。我们撰写了本文&#xff0c;通过 patchelf 工具修改可执行文件和动态库的 rpath&#xff0c;达到无需升级系…...

别再死记公式了!用Multisim仿真带你直观理解电阻分流器原理(附电路文件)

用Multisim仿真破解电阻分流器&#xff1a;从理论到可视化的实战指南 在电子工程的学习过程中&#xff0c;电阻分流器原理常常是初学者遇到的第一个"拦路虎"。传统教学方法往往要求学生死记硬背分流公式&#xff0c;却忽略了最关键的物理直觉培养。本文将带你用Multi…...

BayLing大模型:基于LLaMA的中文指令微调实战指南

1. 项目概述&#xff1a;当大语言模型学会“说”中文如果你最近在关注大语言模型&#xff08;LLM&#xff09;的进展&#xff0c;可能会发现一个有趣的现象&#xff1a;那些在国际上表现惊艳的模型&#xff0c;比如LLaMA、Falcon&#xff0c;甚至是GPT系列&#xff0c;它们在处…...

从一道CTF题出发,手把手教你用Gopher协议玩转SSRF+SQL注入(附Python脚本)

从零构建Gopher协议攻击链&#xff1a;SSRF与SQL注入的深度实战指南 当你第一次在CTF比赛中遇到SSRF漏洞时&#xff0c;是否曾被Gopher协议的神秘面纱所困扰&#xff1f;作为内网渗透中最强大的协议之一&#xff0c;Gopher能够将SSRF的杀伤力提升到全新高度。本文将带你从协议原…...

SpringBoot 3.x 实战:用LdapTemplate搞定用户认证与增删改查(附完整代码)

SpringBoot 3.x企业级LDAP集成实战&#xff1a;从认证到用户管理的完整解决方案 在企业级应用开发中&#xff0c;统一身份认证是每个系统都需要解决的基础问题。LDAP作为轻量级目录访问协议&#xff0c;因其高效的查询性能和标准化的数据结构&#xff0c;成为众多企业用户管理的…...

2026 年视频文字提取器免费好用对比,为什么我先推微信小程序方案

做视频内容运营的时候&#xff0c;经常卡在几个现实问题&#xff1a;本地视频文件怎么快速提文案、抖音或 B 站的公开视频文案想单独保存、会议或课程录音转文字总是慢得要死。这些需求看起来不复杂&#xff0c;但传统的"下载软件→上传→等待导出"流程着实费时间。 …...

电路板逆向工程瓶颈?OpenBoardView跨平台解析实战指南

电路板逆向工程瓶颈&#xff1f;OpenBoardView跨平台解析实战指南 【免费下载链接】OpenBoardView View .brd files 项目地址: https://gitcode.com/gh_mirrors/op/OpenBoardView 当你在MacBook Pro主板维修时&#xff0c;面对那个神秘的.brd文件格式&#xff0c;传统工…...

WarcraftHelper:魔兽争霸3现代兼容性完整解决方案

WarcraftHelper&#xff1a;魔兽争霸3现代兼容性完整解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典游戏魔兽争霸3在现代电脑上运…...

MIT App Inventor:零代码开发Android和iOS应用的终极指南

MIT App Inventor&#xff1a;零代码开发Android和iOS应用的终极指南 【免费下载链接】appinventor-sources MIT App Inventor Public Open Source 项目地址: https://gitcode.com/gh_mirrors/ap/appinventor-sources 想开发手机应用却不懂编程&#xff1f;MIT App Inve…...

C# UI界面的绘制

创建UI界面的网格将数据显示在UI界面result:...

Mac(M1/M2)安卓模拟器不止能跑App:手把手教你配置ADB并连接真机调试

Mac&#xff08;M1/M2&#xff09;安卓模拟器不止能跑App&#xff1a;手把手教你配置ADB并连接真机调试 在Mac平台上进行Android应用开发时&#xff0c;模拟器只是起点。真正高效的开发流程需要打通模拟器与真机之间的调试通道&#xff0c;而ADB&#xff08;Android Debug Bri…...