删除有序数组中的重复元素

一串排序过的数字,空间复杂度O(1),删除重复的数字,要求时间复杂度为O(N). 

public class NoDupArray { 

/** 
* @param args 
*/ 
public static void main(String[] args) { 

        int a[] = new int[]{1,1,1,3,4,5,6,6,6,7,7,8,9}; 

        int len = a.length; 
        int  k = 0;   
        for(int i=1;i<len;i++){ 
        if(a[i]!=a[i-1]){ 
        a[++k] = a[i]; 
        } 
        } 
        len = ++k; 
        System.out.print("删除重复元素后:"); 
for (int i = 0; i < len; i++) { 
System.out.print(a[i] + " "); 





输出结果为:删除重复元素后:1 3 4 5 6 7 8 9 

 

http://renren4.iteye.com/blog/353816

posted on 2012-05-10 11:23  游客远  阅读(220)  评论(0编辑  收藏  举报

导航