- 题目描述: 给定一个整形数组,例如:21,23,25,15,15,23,98,5,21 去除重复项之后保留的数组为25,98,5.
- java语言解法:
public class ArrayViewUtils { /** * @desc 删除数组里重复的数字,只保留不重复的数字。 * 时间复杂度分析为O(n) * @param arr 数组 * @return arr[] */ public static int[] delRepeatFromArray(int[] arr) { if(null==arr){ return null; } int length = arr.length; if(length<1){ return null; } //统计重复出现数字的总个数 int repeatSum=0; HashMap<Integer, Integer> map = new HashMap<>(length,1.0F); for (int i = 0; i <length ; i++) { //存在重复则value大于1不存在重复 value 等于1 if(map.containsKey(Integer.valueOf(arr[i]))){ map.put(arr[i],map.get(arr[i])+1); if(map.get(arr[i])==2){ repeatSum=repeatSum+1;
如何高效去除数组里重复数字,看完你就明白了
最新推荐文章于 2023-02-02 13:59:35 发布