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 }
  • 相关阅读:
    使用TFS CI 又想保留服务运行状态的简单方法
    【知乎】二战中日本陆军的建制
    缓存你的BITMAP对象
    Android 多种方式正确的加载图像,有效避免oom
    GitHub进一步了解
    响应式编程,是明智的选择
    Android 主题动态切换框架:Prism
    Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误
    ClassLoader工作机制
    Java——泛型(最易懂的方式讲解泛型)
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5511668.html
Copyright © 2011-2022 走看看