学习数据接构和算法的第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;
}
相关推荐
曹牧1 小时前
C#:数字的定义和表示方式
算法·c#
minglie11 小时前
espidf的esp32版的webClient
学习
Nil2081 小时前
leetcode 138随机链表的复制
算法·leetcode·链表
学运维的Kysan1 小时前
暑假运维学习打卡第二十五天8.16
学习
键盘飞行员2 小时前
Flutter App 全套实战学习计划:从零搭建到 APK 部署
学习·flutter
疯狂打码的少年3 小时前
【数据结构】图的遍历:深度优先搜索(DFS)
数据结构·笔记·算法·深度优先
会编程的吕洞宾3 小时前
DeepAgents In Action学习(Second)
android·java·学习
-凌凌漆-4 小时前
【freertos】Task创建(v2)
java·开发语言·算法
Nil2084 小时前
leetcode 24两两交换链表中的节点
算法·leetcode·链表