字符串中的字符是否唯一(
2015-10-02 16:05
295 查看
package StringAndArray; /** * 实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).不能使用额外的数据结构。 (即只使用基本的数据结构) * * * 首先,你可以问面试官,构成字符串的字符集有多大?是ASCII字符,还是只是26个字母? 还是有更大的字符集,对于不同的情况,我们可能会有不同的解决方案。 * 如果我们假设字符集是ASCII字符,那么我们可以开一个大小为256的bool数组来表征每个字 * 符的出现。数组初始化为false,遍历一遍字符串中的字符,当bool数组对应位置的值为真, * 表明该字符在之前已经出现过,即可得出该字符串中有重复字符。否则将该位置的bool数组 值置为true。 * * @author fh * */ public class Unique_characters { public static void main(String[] args) { String s="abc12~"; if(isUnique1(s)){ System.out.println("字符串:"+s+" 没有重复字符"); }else{ System.out.println("字符串:"+s+" 有重复字符"); } System.out.println(); } static boolean isUnique1(String s) { boolean[] a=new boolean[127]; char[] chars=s.toCharArray(); int len = s.length(); for(int i=0; i < len; ++i) { int v = (int)chars[i]; if(a[v]) return false; a[v] = true; } return true; } }
相关文章推荐
- Tomcat中的JSTL配置与使用
- leetcode118 and 119 Pascal's Triangle
- iOS 多线程的使用(Operation)
- java.util.Comparator用法
- 优点和阵列的缺点,并且一个链表
- unity3d 学习笔记(三)
- [Reactive Programming] RxJS dynamic behavior
- Linux基本命令(1)
- C++ Boost Thread 编程指南
- 计算机组成原理前四章总结
- 信息安全系统设计基础第四周学习总结—20135227黄晓妍
- Java基础知识强化之集合框架笔记21:数据结构之 数组 和 链表
- Java数据类型和MySql数据类型对应表
- Objective-C中的一些特殊的数据类型 SEL、id、@、nil、Nil
- HDU 5443 The Water Problem 2015 ACM/ICPC Asia Regional Changchun Online
- Mac OS X上安装 Ruby运行环境
- 解决docker镜像无法下载的问题
- Unity 3D飞机大战制作心得
- iOS开发 浅解UIDynamicAnimator
- 利用AXIS开发Webservice(一) —— 如何发布自己的webservice