Java中清除数组重复元素的一种算法
2018-03-06 09:39
330 查看
看了很多类似算法都要调用导入包来解决,本文适合初学者。
如有改进优化,敬请留言。
问题描述:
目前有数组 int[] arr = {11,2, 4, 2 10, 11},试清除该数组的重复元素,返回的数组不准浪费长度。
代码如下:public class remove_object_from_array {
public static void main(String[] args) {
int[] arr= {11,2,4,2,10,11};//静态定义需要清除的数组
int[] arr2=new int[arr.length];//再定义一个长度与之相同的数组
int n=0;
for (int i = 0; i < arr.length; i++) {
for (int j = i+1; j < arr.length; j++) {
if(arr[i]==arr[j]&&i!=j) {
arr[j]=0;
}
}//通过二次遍历将重复元素的后面那个赋值为0(如0本来就在数组中则可以改变为其他赋值)
}
for (int x = 0; x < arr.length; x++) {
if(arr[x]!=0) {
arr2
=arr[x];//将原数组中的非0元素赋值给数组2中的元素;注意:未被赋值的数组2中元素值为0
n++;//自加实现数组2元素的依次赋值的同时也计算了非0元素的个数
}
}
int[]arr3=new int
;//定义数组3的长度为n
for (int i = 0; i < arr3.length; i++) {
arr3[i]=arr2[i];
}//依次赋值
for (int i = 0; i < arr3.length; i++) {
System.out.print(arr3[i]+" ");
}//遍历输出
}
}
如有改进优化,敬请留言。
问题描述:
目前有数组 int[] arr = {11,2, 4, 2 10, 11},试清除该数组的重复元素,返回的数组不准浪费长度。
代码如下:public class remove_object_from_array {
public static void main(String[] args) {
int[] arr= {11,2,4,2,10,11};//静态定义需要清除的数组
int[] arr2=new int[arr.length];//再定义一个长度与之相同的数组
int n=0;
for (int i = 0; i < arr.length; i++) {
for (int j = i+1; j < arr.length; j++) {
if(arr[i]==arr[j]&&i!=j) {
arr[j]=0;
}
}//通过二次遍历将重复元素的后面那个赋值为0(如0本来就在数组中则可以改变为其他赋值)
}
for (int x = 0; x < arr.length; x++) {
if(arr[x]!=0) {
arr2
=arr[x];//将原数组中的非0元素赋值给数组2中的元素;注意:未被赋值的数组2中元素值为0
n++;//自加实现数组2元素的依次赋值的同时也计算了非0元素的个数
}
}
int[]arr3=new int
;//定义数组3的长度为n
for (int i = 0; i < arr3.length; i++) {
arr3[i]=arr2[i];
}//依次赋值
for (int i = 0; i < arr3.length; i++) {
System.out.print(arr3[i]+" ");
}//遍历输出
}
}
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】
- JAVA代码—算法基础:计算已排序的数组中不重复的元素个数
- Java 获取两个整型数组之间的重复元素集合
- java 求数组中重复元素的个数
- java 求数组中重复元素最多的数 空间换时间解法 Map映射表法
- [java]一次for循环实现查询有序数组中所有重复的元素
- 算法:有序数组删除重复元素,和查找等值键的问题
- lintcode&九章算法——101. 删除有序数组里的重复元素 II ? 待解决
- Java中删除数组中重复元素
- javascript和java数组中去掉重复元素的方法
- 字符串算法——旋转数组中查找目标值(有重复元素)( Search in Rotated Sorted Array II)
- java 中的经典算法 如何将有序数据打散,以及在数组中取数据如何做到结果不重复。
- 将一个数组中的重复元素保留一个其他的清零(Java)
- java中删除数组中重复元素方法探讨
- 清除数组重复元素
- JavaScript删除数组重复元素的5个高效算法
- 清除数组中的重复元素
- C++ 算法 查找旋转数组中的最小值 允许重复元素
- java 识别数组中是否具有重复元素
- java数组清除相同元素