zoukankan      html  css  js  c++  java
  • 删除排序数组中的重复数字

    给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。

    不要使用额外的数组空间,必须在原地没有额外空间的条件下完成

    样例

    给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]

    解题思路:相对而言,这道题因为是已经排好的序,所以比较简单。但同时题目要求不能添加额外空间。我们可以采取从头至尾遍历数组,遇到不一样的就计数count++,并且要覆盖原来的数组即遇到不一样的就要标记。

     1 public class Solution {
     2     /**
     3      * @param A: a array of integers
     4      * @return : return an integer
     5      */
     6     public int removeDuplicates(int[] nums) {
     7         // write your code here
     8         int len = nums.length;
     9         int count=1;
    10         if(len==0) return 0;
    11         for(int i=1;i<len;i++){
    12             if(nums[i]==nums[i-1]){
    13                 continue;
    14             }else{
    15                 nums[count]=nums[i];
    16                 count++;
    17             }
    18         }
    19         return count;
    20         
    21     }
    22 }
  • 相关阅读:
    javascript设计模式(一)职责链模式China of responsibility
    javascript设计模式(一)策略模式Strategy
    angularjs提示消息弹出框
    Javascript设计模式(一)States
    Javascript设计模式(一)Facade
    NOIP2020
    RMQ & ST表
    NOI Linux
    初赛解析
    贪心大解析
  • 原文地址:https://www.cnblogs.com/wangnanabuaa/p/4989971.html
Copyright © 2011-2022 走看看