当前位置: 代码迷 >> 综合 >> java笔试--一维数组去重
  详细解决方案

java笔试--一维数组去重

热度:52   发布时间:2024-02-28 08:04:58.0

相关题目:

LCP 11. 期望个数统计

针对于一维数组的去重,主要有两种方式;

1、时间复杂度O(n*logN) ,空间复杂度O(1)

先对数组排序,接着对记录数组的前一个元素的值,来进行比较处理

class Solution {public int expectNumber(int[] scores) {//详情见推导过程,实际上为数组的去重Arrays.sort(scores);int index=-1; //选取一个数组中不会存在的数int res=0;for(int i=0;i<scores.length;i++){if(scores[i]!=index){res++;index=scores[i];}}return res;}
}

2、时间复杂度O(N),空间复杂度O(K)[非重复数组的个数]

使用HasMap或者HashSet进行处理,代码略

于/2020/10/14开始编辑,持续更新