Java程序猿的书面采访String3
2015-07-03 08:49
453 查看
public class SameString { //思想二:每个字符都相应着自己的ASC码,第一个思想的算法复杂度为O(nlogn)。一般能够利用空间来减少时间复杂度 //能够开辟一个大小为256的数组空间,而且将256个数组元素都置为0,然后遍历第一个字符串把字符的ASC作为数组下标。数组元素都加1, //然后遍历第二个字符串将数组元素的各个值都减1,假设最后数组元素的值为0的话说明就是同样的字符串。此算法的时间复杂度为O(n) public static void compare(String s1,String s2){ byte[] b1=s1.getBytes(); byte[] b2=s2.getBytes(); int[] bCount=new int[256]; for(int i=0;i<256;i++){ bCount[i]=0; } for(int i=0;i<b1.length;i++){ bCount[b1[i]-'0']++; } for(int i=0;i<b2.length;i++){ bCount[b2[i]-'0']--; } for(int i=0;i<256;i++) if(bCount[i]!=0){ System.out.println("not equal!"); return; } System.out.println("equal!"); } public static void main (String args[]){ String s1="aaabbbccc"; String s2="ababacbcc"; compare(s1, s2); String s3="aabbccdd"; String s4="abc"; compare(s3, s4); } }
结果:equal not equal
相关文章推荐
- Java学习笔记_成员内部类,静态内部类,方法内部类
- java异常解析
- 《JAVA课程设计》实训第四天——《猜猜看》游戏
- 《Java课程实习》日志(周四)
- Eclipse集成Android NDK开发环境
- java学习笔记--疑问篇:0
- Exception in thread "main" java.lang.IllegalArgumentException
- 使用SpringAop 验证方法参数是否合法
- ndk eclipse集成
- Struts2拦截器深度解读
- Struts2自定义拦截器实例—Session超时的处理
- Struts2--针对session使用过滤器
- Struts2使用过滤器验证登陆状态
- 使用struts2拦截器,对session失效的校验
- 《Java程序设计》实训每天一博文之第四天
- struts2 session拦截器
- struts2拦截器的实现原理及源码剖析
- Struts2拦截器 实现未登录拦截和权限控制
- struts2 角色权限 filter(过滤器)和interceptor(拦截器)
- map和list的用法:HashMap遍历(一)