面试题二-- 算法与编程
2016-12-06 15:11
141 查看
4、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 答:哈哈,其实包含中文字符、英文字符、数字字符原来是出题者放的烟雾弹。 String content = “中国aadf的111萨bbb菲的zz萨菲”; HashMap map = new HashMap(); for(int i=0;i<content.length;i++) { char c = content.charAt(i); Integer num = map.get(c); if(num == null) num = 1; else num = num + 1; map.put(c,num); } for(Map.EntrySet entry : map) { system.out.println(entry.getkey() + “:” + entry.getValue()); } 估计是当初面试的那个学员表述不清楚,问题很可能是: 如果一串字符如"aaaabbc中国1512"要分别统计英文字符的数量,中文字符的数量,和数字字符的数量,假设字符中没有中文字符、英文字符、数字字符之外的其他特殊字符。 int engishCount; int chineseCount; int digitCount; for(int i=0;i<str.length;i++) { char ch = str.charAt(i); if(ch>=’0’ && ch<=’9’) { digitCount++ } else if((ch>=’a’ && ch<=’z’) || (ch>=’A’ && ch<=’Z’)) { engishCount++; } else { chineseCount++; } } System.out.println(……………); 5、说明生活中遇到的二叉树,用java实现二叉树 这是组合设计模式。 我有很多个(假设10万个)数据要保存起来,以后还需要从保存的这些数据中检索是否存在某个数据,(我想说出二叉树的好处,该怎么说呢?那就是说别人的缺点),假如存在数组中,那么,碰巧要找的数字位于99999那个地方,那查找的速度将很慢,因为要从第1个依次往后取,取出来后进行比较。平衡二叉树(构建平衡二叉树需要先排序,我们这里就不作考虑了)可以很好地解决这个问题,但二叉树的遍历(前序,中序,后序)效率要比数组低很多 6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序: 1,张三,28 2,李四,35 3,张三,28 4,王五,35 5,张三,28 6,李四,35 7,赵六,28 8,田七,35 7、写一个Singleton出来。 10、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。 11、有数组a ,用java代码将数组元素顺序颠倒
相关文章推荐
- 一个关于if else容易迷惑的问题
- 一道sql面试题附答案
- C# 超高面试题收集整理
- 14 个折磨人的 JavaScript 面试题
- 人人网javascript面试题 可以提前实现下
- JS面试题---关于算法台阶的问题
- PHP中设置一个严格30分钟过期Session面试题的4种答案
- 经典的20道AJAX面试题(必知必会)
- 据说是雅虎的一份PHP面试题附答案
- php牛逼的面试题分享
- 一套比较完整的javascript面试题(部分答案)
- 10个经典的Java main方法面试题
- 小米公司JavaScript面试题
- JavaScript面试题大全(推荐)
- 超级全面的PHP面试题整理集合第1/2页
- 极易被忽视的javascript面试题七问七答
- 10个值得深思的PHP面试题
- 5个实用的shell脚本面试题和答案
- PHP经典面试题集锦
- 8个PHP数组面试题