• 删除排序数组中的重复数字


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

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

    样例

    给出数组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 }
  • 相关阅读:
    PHP和JS判断手机还是电脑访问
    apache 一个站点配置多个域名
    拾遗
    提高工作效率的工具
    PHP urlencode
    JS encodeURI和encodeURIComponent
    Linux实践:ELF文件格式分析
    Linux实践:文件破解
    Linux实践:模块
    Linux内核学习期末总结(网课)
  • 原文地址:https://www.cnblogs.com/wangnanabuaa/p/4989971.html
Copyright © 2020-2023  润新知