感觉JAVA的数组好麻烦,定义一个数组必须给下标,而且不能动态修改。唉,这样的数组好难操作啊。
import java.util.Arrays;
class Demo
{
public static void main(String[] args)
{
char[] a = {'1','1','2','4','4','4','3','6','6'};
Arrays.sort(a);
char[] temp=arrnoree(a);
System.out.println(temp);
}
public static char[] arrnoree(char[] str)//对已经排序的字符数组去重
{
int num=0;
int[] p=new int[str.length];
for(int i=0;i<str.length-1;i++){
for(int j=i+1;j<str.length;j++){
if(str[i]!=str[j]){
i=p[num++]=j-1;
break;
}
}
}
char[] out=new char[num+1];
out[num]=str[str.length-1];
for(int i=0; i<num; i++)
out[i]=str[p[i]];
return out;
}
} |
|