首页 > 其他分享 >26. 删除有序数组中的重复项

26. 删除有序数组中的重复项

时间:2023-10-21 14:35:31浏览次数:34  
标签:26 删除 nums int 元素 fast low 数组

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:

更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。

返回 k 。


示例 1:

输入:nums = [1,1,2]
输出:2, nums = [1,2,_]
解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。

代码


class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        const int len = nums.size();
        if(len == 1) return 1;

        int fast = 1;
        int low = 1;
        while(fast < len){
            if(nums[fast] != nums[low-1]){
                //出现重复元素
                nums[low++] = nums[fast++];
            }else{
                fast++;
            }
        }
        return low;
    }
};

标签:26,删除,nums,int,元素,fast,low,数组
From: https://www.cnblogs.com/lihaoxiang/p/17778921.html

相关文章

  • 80. 删除有序数组中的重复项 II
    给你一个有序数组nums,请你原地删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。示例1:输入:nums=[1,1,1,2,2,3]输出:5,nums=[1,1,2,2,3]......
  • [LeetCode] 1726. Tuple with Same Product
    Givenanarray nums of distinct positiveintegers,return thenumberoftuples (a,b,c,d) suchthat a*b=c*d where a, b, c,and d areelementsof nums,and a!=b!=c!=d.Example1:Input:nums=[2,3,4,6]Output:8Explanation:Ther......
  • map遍历数组返回包含所需字段的对象
    假如dataList为后台假数据,我想分别得到number和chargeTime、number和freeTime,来分别画图,就可以这么写,当然直接for循环更可以。1constdataList={2list:[3{4number:"0",5chargeTime:2,6freeTime:57......
  • django——Ajax(删除)
    1.在urls.py中编辑urlpath('order_delete',views.order_delete),2.在views.py中编写后端代码deforder_delete(request):uid=request.GET.get('uid')exists=models.Order.objects.filter(id=uid).exists()ifnotexists:retu......
  • 运用模板重载二维数组
    #include<iostream>#include<array>usingnamespacestd;//stack.htemplate<typenameT>classArray{public: Array(introw,intcol); T*operator[](introw);public: T*m_pT; intm_Row; intm_Col;};template<typenameT>Ar......
  • 他海投260万未回本,一天手写200面单到效率提升200%,经历了什么
    他们是时代里的“小人物”,正经历着最为蓬勃的商业变革。年轻一代的创业老板们站在十字路口上,比老一辈更懂直播风口、人工智能、云计算、智能制造、数字经济等经济热词的含义。作为北京快递行业内少见的本地人,范小菲形容自己的创业历程是“挣一点儿,赔一点儿”。从2021年干快递到现在......
  • javascript: 合并数组
     <!doctypehtml><html><head><metacharset="utf-8"><metaname="viewport"content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no"><metahttp-eq......
  • javascript 数组对象根据id去重的几种方法
    例如:想去除重复id为1的项arr=[{id:1,name:'张三',age:20},{id:1,name:'张三',age:20},{id:2,name:'李四',age:20},{id:3,name:'马五',age:20},];方法一通过forEach再通过some方法判断数组是否包含当前对象id,不包含则添加so......
  • 卷影副本(Volume Shadow Copy)是Windows操作系统提供的一项备份和恢复功能。它允许在文
    卷影副本(VolumeShadowCopy)是Windows操作系统提供的一项备份和恢复功能。它允许在文件被修改或删除之前,创建文件或文件夹的副本,以便在需要时进行数据的还原和恢复。卷影副本主要有以下作用和优势:数据保护和恢复能力:卷影副本可以保护用户的数据免受意外的文件修改、删除和损坏......
  • [Leetcode] 0083. 删除排序链表中的重复元素
    83.删除排序链表中的重复元素题目描述给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回已排序的链表 。 示例1:输入:head=[1,1,2]输出:[1,2]示例2:输入:head=[1,1,2,3,3]输出:[1,2,3] 提示:链表中节点数目在范围[0,300]......