学习数据接构和算法的第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;
}
相关推荐
苏荷水12 分钟前
万字总结LeetCode100(持续更新...)
java·算法·leetcode·职场和发展
gihigo199824 分钟前
MATLAB运动估计基本算法详解
开发语言·算法·matlab
hetao173383725 分钟前
2026-02-09~02-12 hetao1733837 的刷题记录
c++·算法
ADDDDDD_Trouvaille25 分钟前
2026.2.12——OJ72-74题
c++·算法
励ℳ35 分钟前
机器学习-LASSO算法指南
人工智能·算法·机器学习
白开水丶35 分钟前
vue3源码学习(五)ref 、toRef、toRefs、proxyRefs 源码学习
前端·vue.js·学习
不光头强36 分钟前
SpringBoot 开发第三天 学习内容
java·spring boot·学习
Coisinilove1 小时前
MATLAB学习笔记——第二章
笔记·学习·matlab
Titan20241 小时前
C++异常学习笔记
c++·笔记·学习