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 }
  • 相关阅读:
    使用SetTimer函数为Delphi的Win控件设置时钟
    关于QT版本的安装配置的一些困惑
    Linux设备驱动开发详解-Note(11)--- Linux 文件系统与设备文件系统(3)
    邪恶的C++
    TControl的主要功能研究(属性,函数,事件)
    Delphi研究,对全局变量函数与OOP编程关系的一点体会 good
    QT 相关资源(书籍、论坛、博客等。。。)整理
    VC UI界面库大集合
    .net程序员求职简历
    C++著名程序库的比较
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5511668.html
Copyright © 2011-2022 走看看