判断串中每种字符是否只出现一次,时间复杂度O(N)

来源:互联网 发布:台湾人淘宝吗 编辑:程序博客网 时间:2024/06/18 15:11
public static void main(String[] args) {        char[] c="a2b".toCharArray();        boolean res=isUnique1(c);        System.out.println(res);            }    //判断串中每种字符是否只出现一次,时间复杂度O(N)    public static boolean isUnique1(char[] chas){        if(chas==null){            return true;        }        boolean[] map=new boolean[256];        for(int i=0;i<chas.length;i++){            if(map[chas[i]]){//map[48]为true,但又遇到map[48]                return false;//说明不止出现一次            }            map[chas[i]]=true;//出现过的字符都赋true,如map(48)=true        }        return true;    }

PS:
另一个要求好难….
保证额外空间复杂度为O(1)的前提下,实现时间复杂度尽量低的方法。

阅读全文
0 0
原创粉丝点击