zoukankan      html  css  js  c++  java
  • Remove Duplicates from Sorted Array 解答

    Question

    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.

    Solution -- Two Pointers

    Time complexity O(n), space cost O(1)

     1 public class Solution {
     2     public int removeDuplicates(int[] nums) {
     3         int length = nums.length;
     4         if (length <= 1)
     5             return length;
     6         int p1 = 0, p2 = 1;
     7         while (p2 < length) {
     8             if (nums[p2] != nums[p1]) {
     9                 p1++;
    10                 nums[p1 + 1] = nums[p2];
    11                 p2++;
    12             } else {
    13                 p2++;
    14             }
    15         }
    16         return p1 + 1;
    17     }
    18 }
  • 相关阅读:
    java多线程
    golang编码转换
    golang csv,xls,xlsx
    golang 资源
    electron安装
    Ubuntu系统下面软件安装更新命令
    golang代码执行顺序
    datatables使用
    Echarts柱形图颜色设置
    golang chan 超时
  • 原文地址:https://www.cnblogs.com/ireneyanglan/p/4799837.html
Copyright © 2011-2022 走看看