去哪儿网2015校招研发类笔试题(2014-9-10,大连站)
来源:互联网 发布:js控制disabled的属性 编辑:程序博客网 时间:2024/06/02 19:06
自己做的,有不足的地方,多多指教(比如时间复杂度,空间效率等方面)
1、二分查找,见之前的博客
2、给定一个字符串,得到这个字符串中首先出现两次的那个字符
这题不难,最简单的方法,就是把这些字符放到集合里面,如果出现2次了,就返回该字符
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String src = scanner.next();HashMap<Character,Integer> items = new HashMap<Character,Integer>();for(int i=0;i<src.length();i++){if(!items.containsKey(src.charAt(i))){items.put(src.charAt(i), 1);}else{System.out.println(src.charAt(i));break;}}}
3、尝试在以下文本中搜索并打印出包含单词"your"(不区分大小写)的句子,并按照出现次数从高到低排序
Make yourself at home
None of your business
I will be more careful
How about going to a move?
Your life is your own affair
思路:先统计每个字符串句子中包括“your”的个数,然后按个数排序
public static void main(String[] args) {Scanner s = new Scanner(System.in);String[] src = new String[1024];// 最多接收1024个句子HashMap<String, Integer> items = new HashMap<String, Integer>();int i = 0;while (!(src[i++]=s.nextLine()).equals("EOF")) {int count = countSubstr(src[i-1], "you", true);items.put(src[i - 1], count);}// 对HashMap排序ArrayList<Entry<String, Integer>> list = new ArrayList<Entry<String, Integer>>(items.entrySet());Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {@Overridepublic int compare(Map.Entry<String, Integer> o1,Map.Entry<String, Integer> o2) {return o2.getValue() - o1.getValue();}});for (Entry<String, Integer> e : list) {System.out.println(e.getKey() + "===>" + e.getValue());}}/** * 判断子字符串在原字串中出现的次数 * * @param src * @param sub * @param isIgnore * 是否忽略大小写 true是忽略 */private static int countSubstr(String src, String sub, boolean isIgnore) {int count = 0, start = 0;if (isIgnore) {src = src.toLowerCase();sub = sub.toLowerCase();}while ((start = src.indexOf(sub, start)) >= 0) {start += sub.length();count++;}return count;}
0 0
- 去哪儿网2015校招研发类笔试题(2014-9-10,大连站)
- 去哪儿网2015校招软件研发笔试题(杭州站)
- 2014去哪儿校招笔试
- 去哪儿网2015春季校招笔试--回忆版
- 去哪儿网2015春季校招笔试--回忆版
- 寻找Coder(2015去哪儿校招笔试题)
- 2014年九月 去哪儿 笔试题(大连)
- 2015去哪儿校招(长春站)开发笔试题
- 去哪儿网个2014校招笔试题 技术岗实习生
- 二分查找----去哪儿2015研发工程师笔试题
- 《去哪儿》JAVA研发笔试题
- 2016、2015去哪儿秋招笔试题
- 2015百度校园招聘软件研发类笔试题(笔试时间:2014-9-14,西安、哈尔滨、大连站)
- 2015百度校园招聘软件研发类笔试题(笔试时间:2014-9-14,西安、哈尔滨、大连站)
- 2015百度校园招聘软件研发类笔试题(笔试时间:2014-9-14,西安、哈尔滨、大连站)
- 去哪儿网 2013校招笔试题--2012年某月某日考试
- 2015.10去哪儿校招面试面经-研发工程师
- 2016去哪儿校招研发编程三道
- 学习Golang语言(7):类型--字典
- Spring初学者(1)
- 运算符
- 3D显示技术
- hdu 1251 统计难题
- 去哪儿网2015校招研发类笔试题(2014-9-10,大连站)
- 使用T-SQL语言创建数据库
- 浏览器检测(BrowserDetect.js)使用
- 3D视觉原理之深度暗示(即立体感)
- 设计模式观后(c++还原之七 模板方法模式)
- Kmp 模板 之 hdu 1711 Number Sequence
- 线程通信
- 在VC中读写ini配置文件
- 手游《奔跑吧?骚年!》技术分享(五):三角形碰撞检测