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 }
  • 相关阅读:
    Android 新建项目报错(CANNOT RESOLVE SYMBOL R)
    GIT相关
    Java 语言基础
    StarUML
    public static void main(String[] args)的理解
    软件安装以及环境搭配
    基础
    字符串的格式化
    python里的正则表达式
    集合
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5511668.html
Copyright © 2011-2022 走看看