• 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++中的虚函数
    struct并不报错
    c风格的字符串
    动态数组
    常量指针和指针常量
    关于struct和typedef struct
    常量成员函数
    关于free的使用疑惑
    mutable用于修改const成员函数中的成员变量
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5511668.html
Copyright © 2020-2023  润新知