【简单】判断字符数组中是否所有的字符都只出现过一次-Java:解法一
分享一个大牛的人工智能教程。零基础通俗易懂风趣幽默希望你也加入到人工智能的队伍中来请轻击人工智能教程大家好欢迎来到我的网站 人工智能被认为是一种拯救世界、终结世界的技术。毋庸置疑人工智能时代就要来临了科… 继续阅读 前言https://www.captainai.net/troubleshooterpackage live.every.day.ProgrammingDesign.CodingInterviewGuide.String; /** * 判断宇符数组中是否所有的字符都只出现过一次 * * 【题目】 * 给定一个字符类型数组chas[]判断chas中是否所有的字符都只出现过一次请根据以下不同的两种要求实现两个函数。 * * 【要求】 * 1.实现时间复杂度为O(N)的方法。 * 2.在保证额外空间复永度为O(1)的前提下请实现时间复杂度尽量低的方法。 * * 【难度】 * 按要求1实现的方法简单 * 按要求2实现的方法中等 * * 【解答】 * 要求1。遍历一遍chas用map记录每种字符的出现情况这样就可以在遍历时发现字符重复出现的情况map可以用长度固定的数组 * 实现也可以用哈希表实现。具体请参看如下代码中的isUnique1方法。 * * author Created by LiveEveryDay */ public class IsAllCharsAppearOnlyOnce1 { public static boolean isUnique1(char[] a) { if (a null) { return true; } boolean[] map new boolean[256]; for (char c : a) { if (map[c]) { return false; } map[c] true; } return true; } public static void main(String[] args) { char[] a {a, b, c}; System.out.printf(Is all characters appear only once: %s, isUnique1(a)); } } // ------ Output ------ /* Is all characters appear only once: true */
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2559236.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!