首 页 行业资讯 新车 试驾评测 养车用车 车型库

用Java删除数组中所有相同的数,使之仅剩下一个,然后输出剩下的数据?

发布网友 发布时间:2022-04-22 21:47

我来回答

1个回答

热心网友 时间:2023-10-03 10:14

public class ArrayUnique {

/**
* 方法1 就是申请一个和nums大小一样的数组tmpNums,
* 然后遍历nums中的元素,对每个元素判断是否在tmpNums出现过,
* 如果出现过,那么就不放到新数组里面,也就是不做处理;
* 如果没有出现过,那么就把它放到新的数组里面
* 这种方法数组原来的相对顺序可以保证
* 时间复杂度是n^2和空间复杂度是n
*
*
@param nums 输入需要去重的数组
*
@return 返回去重后数组的长度

*/

public static int unique1(int[] nums) {

if (nums.length == 0) {

return 0;
}

int[] tmpNums = new int[nums.length];
tmpNums[
0] = nums[0];

int index = 1;

for (int i = 1, len = nums.length; i < len; i++) {

int j = 0;

for (; j < index; j++) {

if (tmpNums[j] == nums[i]) {

break;
}
}

if (j == index) {
tmpNums[index
++] = nums[i];
}
}
nums
= tmpNums;

return index;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com