每日一题(leetcode2009):使数组连续的最小操作数--滑动窗口

news/2024/5/20 8:06:12 标签: leetcode, 算法, 数据结构, 滑动窗口

从相反面考虑,一条已知长度的线段最多能覆盖多少数值,最先用长度减一下就行。线段覆盖问题用滑动窗口就行。代码如下:

class Solution {
public:
    int minOperations(vector<int>& nums) {
        int len=nums.size();
        sort(nums.begin(),nums.end());
        int m=unique(nums.begin(),nums.end()) -nums.begin();
        int left=0;
        int ans=0;
        for(int i=0;i<m;i++)
        {
            while(nums[left]<nums[i]-len+1){
                left++;
            }
            ans=max(i-left+1,ans);
        }
        return len-ans;
    }
};

其中 int m=unique(nums.begin(),nums.end()) -nums.begin();为原地去重代码。unique(nums.begin(),nums.end())返回的是排序好的数的后面一个数,所以减去开头就是去重序列的长度。


http://www.niftyadmin.cn/n/5478048.html

相关文章

【java基础-高级篇十五】Java反射机制

这里写自定义目录标题 一、什么是Java反射机制1、什么是反射&#xff1f;2、Java反射机制提供的功能3、反射相关的主要 api 二、理解Class类并获取Class实例1、什么是Class类2、获取Class类的实例(四种方法)3、哪些类型可以有Class对象&#xff1f; 三、类的加载和ClassLoader的…

论文笔记:FROZEN TRANSFORMERS IN LANGUAGE MODELSARE EFFECTIVE VISUAL ENCODER LAYERS

iclr 2024 spotlight reviewer 评分 6668 1 intro 在CV领域&#xff0c;很多Vision-language Model 会把来自图像的Embedding输入给LLM&#xff0c;并让LLM作为Decoder输出文字、类别、检测框等 但是在这些模型中&#xff0c;LLM并不会直接处理来自图像的Token&#xff0c;需…

一文了解ERC404协议

一、ERC404基础讲解 1、什么是ERC404协议 ERC404协议是一种实验性的、混合的ERC20/ERC721实现的&#xff0c;具有原生流动性和碎片化的协议。即该协议可让NFT像代币一样进行拆分交易。是一个图币的互换协议。具有原生流动性和碎片化的协议。 这意味着通过 ERC404 协议&#xf…

使用Screen遇到的问题及解决办法(成功解决)

使用Screen遇到的问题及解决办法&#xff08;成功解决&#xff09; 文章目录 使用Screen遇到的问题及解决办法&#xff08;成功解决&#xff09;问题1&#xff1a;进入的Screen会话不是当前虚拟环境问题2&#xff1a;进程占用端口&#xff0c;screen会话中不能使用指定端口 关于…

AI大模型基石:文字与数字的起源与演变

AI大模型基石&#xff1a;文字与数字的起源与演变 1、文字 1.1、起源 我们的祖先在还没有发明文字和语言之前就已经开始使用“咿咿呀呀”的声音来传播信息了&#xff0c;比如在野外活动遇到危险&#xff0c;然后发出“咿咿呀呀”的声音来提醒同伴小心&#xff0c;同伴在接收到…

Request 读取窗体变量四种方式

1.读取窗体变量四种方式&#xff1a; (1).使用Request.Form属性读取窗体变量 (2).使用Request.QueryString属性读取窗体变量 (3).使用Request.Params属性读取窗体变量 (4).通过服务器控件的属性直接读取窗体变量 &#xff08;1&#xff09;.使用Request.Form属性读取窗体变量…

mysql绿色版安装

mysql绿色版 下载安装包然后解压 下载地址&#xff1a; https://dev.mysql.com/downloads/file/?id526085 解压目录&#xff1a; D:\softs\mysql-8.3.0-winx64\bin 建data 文件夹&#xff08;和bin同级&#xff09; 编辑my.ini文件&#xff08;和bin同级&#xff09; [mys…

利用Java代码调用Lua脚本改造分布式锁

4.8 利用Java代码调用Lua脚本改造分布式锁 lua脚本本身并不需要大家花费太多时间去研究&#xff0c;只需要知道如何调用&#xff0c;大致是什么意思即可&#xff0c;所以在笔记中并不会详细的去解释这些lua表达式的含义。 我们的RedisTemplate中&#xff0c;可以利用execute方…