每日一题 为了工作 2020 04011 第四十题
Posted walxt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题 为了工作 2020 04011 第四十题相关的知识,希望对你有一定的参考价值。
/**
*
* 问题:
* 判断字符数组中是否所有的字符都只出现一次
* 给定一个字符类型的数组chars[],判断 chars中是否所有的字符都只出现过一次。
*
* 要求:
* 时间复杂度为 O(N)
* 解答:
* 遍历一遍 chars, 用 map记录每种字符的出现情况, 这样就可以在遍历时发现字符重复
* 出现的情况, map可以用长度固定的数组实现, 也可以用哈希表实现。
*
* @author 雪瞳
*
*/
public class IsUniquel {
public static boolean isUniquel(char chars[]){
if(chars == null){
return true;
}
boolean map[] = new boolean[256];
for(int i=0;i<chars.length;i++){
if(map[chars[i]]){
return false;
}
map[chars[i]]=true;
}
return true;
}
}
public class TestIsUniquel {
public static void main(String[] args) {
char chars1[] ={‘a‘,‘b‘,‘c‘};
char chars2[] ={‘a‘,‘b‘,‘c‘,‘b‘};
boolean result1 = IsUniquel.isUniquel(chars1);
showCharArray(chars1);
showResult(result1);
boolean result2 = IsUniquel.isUniquel(chars2);
showCharArray(chars2);
showResult(result2);
}
public static void showResult(boolean flag){
if(flag){
System.err.println("各个字符元素均出现一次");
}else{
System.err.println("存在字符元素出现多次");
}
}
public static void showCharArray(char array[]){
for (char arr : array) {
System.err.print(arr+" ");
}
System.out.println();
}
}
*运行结果
以上是关于每日一题 为了工作 2020 04011 第四十题的主要内容,如果未能解决你的问题,请参考以下文章
爱创课堂每日一题第四十一天- Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?
爱创课堂每日一题第四十二天- 你知道多少种Doctype文档类型?