学习数据接构和算法的第11天

题目讲解

删除有序数组中的重复项

去重

​ 给你一个有序数组nums ,请你原地·删除重复出现的元素,使没个元素值出现一次,返回删除后数组的长度

​ **注意:**不要使用额外的数组空间,你·必须在原地修改输入数组并使用O(1)额外空间的条件完成

eg:

​ 输入:nums=[1,1,2]

​ 输出:2,nums=[1,2]

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

c 复制代码
#include<stdio.h>
int main()
int removeDuplicates(int* nums, int numssize)
	if(numsSize==0)
        return 0;
   int i=0, j=1;
	int dst = 0;
	while(j<numsSize)
    {
		if(nums[i]== nums[j])
        {
++j;
        }
    }
else
{
	nums[dst]= nums[i];
	++dst;
	++j;
	i=j;
}
    }
	nums[dst]=nums[i];
	++dst;
	return dst;
}
相关推荐
拾忆丶夜13 小时前
unity 热力图学习
学习·unity·游戏引擎
雪碧聊技术13 小时前
上午题_算法
算法·软考·软件设计师
naturerun14 小时前
从数组中删除元素的算法
数据结构·c++·算法
red_redemption14 小时前
自由学习记录(183)
学习·ue项目改名字的学问
lizhihai_9914 小时前
股市学习心得-智能体顶层设计文件收益供应链
大数据·人工智能·学习
中草药z14 小时前
【测试基础】Python 核心语法,一篇搞定测试脚本开发基础
开发语言·笔记·python·学习·测试·语法
一口吃俩胖子14 小时前
【脉宽调制DCDC功率变换学习笔记020】频域性能准则
笔记·学习
pottichu15 小时前
claud code 学习记录
学习
斯内科15 小时前
四胞胎素数:找出‌个位数分别是 1、3、7、9‌,且‌十位及更高位数字完全相同‌的质数,例如 11、13、17、19
算法·质数·素数·四胞胎素数