黑马程序员技术交流社区

标题: 自己想一个数组去重算法。望各位来看看有什么需要改进的~ [打印本页]

作者: as604049322    时间: 2014-11-25 08:53
标题: 自己想一个数组去重算法。望各位来看看有什么需要改进的~
感觉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;
        }
}
作者: as604049322    时间: 2014-11-25 09:19
尝试一下,“代码文字”功能





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2