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.


    题目标签:Array
      这道题目给了我们一个有序array, 让我们把重复的都移除,并且要求我们不能利用额外的空间,只能在原有的array里改。这里需要两个pointers, i 和 j。 设置j 为0, i 从1 开始遍历。目的是让i 找到一个不重复的数字,一旦找到,我们把这个数字放在j 的后面一个位子。这样的话,所有重复的数字,都会放在j后面。j之前的包括j的部分都是不重复的。最后只要return j+1 就可以了。
     
     

    Java Solution:

    Runtime beats 55.60% 

    完成日期:03/09/2017

    关键词:Array

    关键点:利用two pointers

     1 public class Solution 
     2 {
     3     public int removeDuplicates(int[] nums) 
     4     {
     5         // check validation.
     6         if(nums.length == 0)
     7             return 0;
     8         
     9         
    10         int j = 0;
    11         
    12         // iterate nums array.
    13         for(int i=1; i<nums.length; i++)
    14         {
    15             // once find the nums[i] that doesn't match nums[j]
    16             if(nums[i] != nums[j])
    17             {
    18                 j++;
    19                 // swap the non-duplicate one with duplicate one or with itself
    20                 nums[j] = nums[i];
    21             }
    22             
    23         }
    24         
    25         return j+1;
    26     }
    27 }

    参考资料:N/A

    LeetCode 算法题目列表 - LeetCode Algorithms Questions List

  • 相关阅读:
    Java使用MyEclipse2017时的一些小细节
    Windows设置双ip访问虚拟机方法
    Python-函数的参数
    Python dict.set
    FTP错误代码列表
    使用批处理文件在FTP服务器 上传下载文件(转载)
    FreeRTOS学习笔记7-FreeRTOS 队列相关
    FreeRTOS学习笔记6-调度器开启和任务相关函数
    从github hexo 跑来 博客园
    Nodejs实战 —— 测试 Node 程序
  • 原文地址:https://www.cnblogs.com/jimmycheng/p/7163888.html
Copyright © 2011-2022 走看看