zoukankan      html  css  js  c++  java
  • LeetCode 26

    Remove Duplicates from Sorted Array

    Given a sorted array, remove the duplicates in place
    such that each element appear only once and return the new length.

    Do not allocate extra space for another array,
    you must do this in place with constant memory.

    For example,
    Given input array nums = [1,1,2],

    Your function should return length = 2,
    with the first two elements of nums being 1 and 2 respectively.
    It doesn't matter what you leave beyond the new length.

     1 /*************************************************************************
     2     > File Name: LeetCode026.c
     3     > Author: Juntaran
     4     > Mail: JuntaranMail@gmail.com
     5     > Created Time: Tue 17 May 2016 20:37:12 PM CST
     6  ************************************************************************/
     7 
     8 /*************************************************************************
     9     
    10     Remove Duplicates from Sorted Array
    11     
    12     Given a sorted array, remove the duplicates in place 
    13     such that each element appear only once and return the new length.
    14 
    15     Do not allocate extra space for another array, 
    16     you must do this in place with constant memory.
    17 
    18     For example,
    19     Given input array nums = [1,1,2],
    20 
    21     Your function should return length = 2, 
    22     with the first two elements of nums being 1 and 2 respectively. 
    23     It doesn't matter what you leave beyond the new length.
    24 
    25  ************************************************************************/
    26 
    27 #include <stdio.h>
    28 
    29 int removeDuplicates(int* nums, int numsSize) 
    30 {
    31     int count = 0;
    32     int i;
    33     for( i=0; i<numsSize-1; i++ )
    34     {
    35         if( nums[i] == nums[i+1] )
    36         {
    37             count++;
    38         }
    39         else
    40         {
    41             nums[i+1-count] = nums[i+1];
    42         }
    43     }
    44     return numsSize-count;
    45 }
    46 
    47 int main()
    48 {
    49     int nums[] = { 1, 2, 3, 3, 4, 5, 5, 5 };
    50     int numsSize = 8;
    51     
    52     int ret = removeDuplicates( nums, numsSize );
    53     printf("%d
    ", ret);
    54 }
  • 相关阅读:
    社交需求和社交产品的更替
    腾讯产培生面经
    【C++基础】类class
    【C++基础】结构struct
    【C++基础】C-串知识整理
    GeoServer war包在tomcat7中配置遇到的一个问题
    pgrouting 2.0 的环境配置
    阿里2014年9月笔试中的一个算法设计题--擦黑板剩余数字
    VisualSVN Server的启动关闭脚本
    二叉树遍历(前序、中序、后序)的递归及非递归实现(小结)
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5511668.html
Copyright © 2011-2022 走看看