学习数据接构和算法的第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;
}
相关推荐
naruto_lnq4 分钟前
C++中的工厂方法模式
开发语言·c++·算法
千逐-沐风13 分钟前
SMU-ACM2026冬训周报2nd
算法
墨黎芜16 分钟前
SQL Server从入门到精通——C#与数据库
数据库·学习·信息可视化
wdfk_prog25 分钟前
[Linux]学习笔记系列 -- [drivers][dma]stm32-dma
linux·笔记·学习
暖阳之下28 分钟前
学习周报三十三
学习
寄存器漫游者33 分钟前
数据结构 C语言 顺序栈
java·c语言·数据结构
写点什么呢36 分钟前
Ltspice_安装与使用
学习·测试工具
CappuccinoRose39 分钟前
CSS前端布局总指南
前端·css·学习·布局·flex布局·grid布局·float布局
m0_7482331742 分钟前
C#与C语言:5大核心语法共性
java·jvm·算法
mango_mangojuice43 分钟前
Linux学习笔记(角色,权限管理)1.21
linux·笔记·学习