(是否有O(1)方法。)给定一个字符数组,给出一个删除重复项的算法

时间:2017-07-26 15:08:23

标签: arrays string algorithm hash linear-search

是否有O(1)解决方案。

方法:

public void removeDuplicates(char[] a, int n){
   for(int i = 0; i < n; i++){
      for(int j = 0; j < n;){
               if(a[i] == a[j])
                   a[j] = s [--n];
               else  j++;
           }
       }
        s[i] = '\0';
    }

但时间复杂度 O(n ^ 2)。 可以进一步优化吗?

0 个答案:

没有答案