给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

#include <stdio.h>#include <stdlib.h>
#include<string.h>
//删除重复元素
int removeDuplicates(int* nums, int numsSize);
int main()
{int nums[10]={0,0,1,1,1,2,2,3,3,4};int length=10,len;len=removeDuplicates(nums,length);printf("%d\n",len);for (int i=0;i<len;i++)printf("%d ",nums[i]);//printf("Hello world!\n");return 0;
}int removeDuplicates(int* nums, int numsSize) {int temp=nums[0];int index=1,len=numsSize;for (int i=1;i<numsSize;i++){if(nums[i]==temp) len--;else{nums[index]=nums[i];index++;}temp=nums[i];}return len;
}

另解:

/*优化算法
int removeDuplicates(int* nums, int numsSize) {if(numsSize == 0)return 0;int cur = 0, pre = 0;while (cur < numsSize) {if(nums[pre] == nums[cur]) {cur ++;} else {nums[++pre] = nums[cur++];}}return pre + 1;
}*/

leetcode初级算法-删除重复元素相关推荐

  1. 算法--------删除重复元素,但保留两个

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成.示例 1: ...

  2. leetcode初级算法3.存在重复元素

    leetcode初级算法3.存在重复元素 仅为个人刷题记录,不提供解题思路 题解与收获 我的解法: Arrays.sort(nums);for(int i = 0; i < nums.lengt ...

  3. LeetCode初级算法(数组)解答

    这里记录了LeetCode初级算法中数组的一些题目: 加一 本来想先转成整数,加1后再转回去:耽美想到测试的例子考虑到了这个方法的笨重,所以int类型超了最大范围65536,导致程序出错. class ...

  4. leetcode初级算法4.两个数组的交集 II

    leetcode初级算法4.两个数组的交集 II 仅为个人刷题记录,不提供解题思路 题解与收获 我的解法:(总结在代码中) public int[] intersect(int[] nums1, in ...

  5. leetcode初级算法5.加一

    leetcode初级算法5.加一 仅为个人刷题记录,不提供解题思路 题解与收获 我的解法:(总结在代码中) public int[] plusOne(int[] digits) {//获取digits ...

  6. leetcode初级算法6.字符串转整数(atoi)

    leetcode初级算法6.字符串转整数(atoi) 仅为个人刷题记录,不提供解题思路 题解与收获 我的解法: public int myAtoi(String s) {//避免魔法值先设spaceS ...

  7. leetcode初级算法4.只出现一次的数字

    leetcode初级算法4.只出现一次的数字 仅为个人刷题记录,不提供解题思路 题解与收获 我的解法: public static int singleNumber(int[] nums) {if(n ...

  8. 顺序表删除重复元素(完整代码的实现)

    [问题描述] 设一顺序表有若干元素,编写程序实现删除表中值重复的元素,即重复元素只保留一个. [输入形式] 第一行输入一个N(N不大于100),表示顺序表的长度: 第二行输入N个整数,表示顺序表元素: ...

  9. 《 Python List列表全实例详解系列(四)》__列表删除元素(4种方法)删除重复元素(去重)(8种方法)

    <  Python List列表全实例详解系列(四)> __列表删除元素(4种方法)删除重复元素(去重)(8种方法) 我的技术成长&学习资料整理分享之路 我遇到问题查找资料时,经常 ...

最新文章

  1. C语言:十六进制(HEX)和浮点类型(float、double)转换
  2. 计算机操作系统“进程”与“线程”的通俗解析
  3. 芯片项目烂尾怎么办?国家发改委回应了!
  4. 层 数据仓库_数据仓库的架构是什么样的,大家可以通过这篇文章了解一下
  5. 如何应用streamlit开发一个网络应用程序?
  6. QCOW2 — 再谈 COW、ROW 快照技术
  7. 2021高考杭二中成绩查询,浙江高中成绩排名2021,浙江中考分数线排行榜
  8. 是可改写的随机存储器_关于存储器的一些基础知识整理
  9. 玩转SSRS第六篇---客户端报表进阶
  10. Nginx进行流量限制的解决方案
  11. 【Word】一些实用的小技巧
  12. vba 中sql like用法
  13. 结束占用端口号进程(pid)
  14. 第三章EF的基本使用 EF添加数据实体模型
  15. IOS中通知中心NSNotificationCenter应用总结
  16. [转]关于java的动态代理
  17. 三笔输入法 开发过程记录
  18. Access数据库对象包括哪六个?Access与 Excel 最重要的区别是什么?
  19. McAfee软件下载与安装
  20. 通过微信公众号实现微信快捷登陆

热门文章

  1. MongoDB JDBC 基本使用
  2. HTML5智慧渔业WebGL可视化云平台
  3. 手机木马假冒“中国银联”App,专偷信用卡。
  4. A20 Sandisk EMMC更换成Samsung EMMC出现问题解决方法
  5. winrar分卷压缩_WinRAR该让位了?免费开源的压缩软件横空出世
  6. 蛋白质多重分析技术研究分析报告-
  7. 计算机软件著作评职称有用吗,软件著作评职称有用吗
  8. 平衡二叉树算法实现C++
  9. 国产芯片测试软件,测评国产单片机联网芯片
  10. WICC 2021 融云首席架构师揭秘RTC和IM全球通信网络