美文网首页
数组(2)--有序数组去重

数组(2)--有序数组去重

作者: qpan | 来源:发表于2018-03-31 18:22 被阅读5次
  • 有序数组去重,最多重复2次
    /**
     * 允许重复两次
     * @param nums
     * @return
     */
    public static int removeDuplicatesTwice(int[] nums){
        int n=nums.length;
        int index=0;
        for (int i=0;i<n;++i){
            if (i>0 && i<n-1 && nums[i]==nums[i-1] && nums[i]==nums[i+1])
                continue;

            nums[index++]=nums[i];
        }
        return index;
    }
  • 扩展:有序数组去重,最多重复n次呢
/**
     *
     * @param num
     * @param occur 允许最大重复个数
     * @return
     */
    public static int removeCommonDuplicates(int[] num ,int occur){
        if (num.length<= occur) return num.length;

        int index=occur;
        for (int i=occur;i<num.length;++i){
            if (num[i] != num[index-occur]){
                num[index++]=num[i];
            }
        }
        return index;
    }

相关文章

  • 数组(2)--有序数组去重

    有序数组去重,最多重复2次 扩展:有序数组去重,最多重复n次呢

  • 数组(1)--有序数组去重

    描述 一个有序数组如[1,2,2,3,4,4,5], 需要去重处理 要求: 处理后数组中每个数值仅出现一次...

  • ES6数组去重

    普通数组去重 方法1 方法2 对象数组去重

  • 有序数组去重

    O(1)内存消耗:(当然了,用set直接去掉重复元素不用写) class Solution(object): ...

  • Swift 数组去重(有序去重)

    今天的需求 需要对数组去重 写了下面的方法 留着备用 调用

  • Array集结号

    实现数组去重的几种方法 数组去重一 数组去重二 利用数组indexof+push实现数组去重 数组去重三 利用对象...

  • 数组去重

    数组去重: 1、数组去重: 2、[...new Set(arr)] 3、 for 循环嵌套for,splice 去...

  • 数组的去重和数组中对象的去重

    数组中对象去重 方式1 jq方式 方式2 原生js方式 普通数组的去重 方式1 普通的数组去重js 方式2 Se...

  • js 数组操作

    1 数组去重 通过set 没有重复元素去重 2 通过修改数组长度 删除元素 3 数组尾部追加元素 4 数组尾部移...

  • 数组去重

    0. 由对象组成的数组去重 1. 去重:遍历数组法 2. 去重:数组下标判断法 3. 去重:排序后相邻去除法 4....

网友评论

      本文标题:数组(2)--有序数组去重

      本文链接:https://www.haomeiwen.com/subject/bxcncftx.html