2015去哪网实习招聘笔试题

去哪网实习笔试已经过去一段时间了,现在想学下java,就拿这些题目练练手。

1. 数组循环移位,在这个数组中查找相应的数字思路:使用二分查找,可以参见leetcode的题目:“Search in Rotated Sorted Array” 看来多刷刷leetcode还是挺有好处的直接上代码:Solution {public int indexOf(int[] array, int target) {int length = array.length;int left = 0;int right = length-1;int mid = (left+right)/2;while(left <= right) {if(array[mid] == target) return mid;if(array[left] == target) return left;if(array[right] == target) return right;//如果左边有序if(array[left] < array[mid]) {if(target > array[left] && target < array[mid]) {++left;right = mid -1;} else {left = mid + 1;–right;}}//右边有序else {if(target > array[mid] && target < array[right]) {left = mid + 1;–right;} else {++left;right = mid – 1;}}mid = (left + right)/2;}return -1;}}class Test {main(String[] args) {Solution test = new Solution();int[] array = {23, 34, 41, 52, 4, 8, 13, 20};int n = test.indexOf(array, 21);System.out.println(n);}}2. 字符串的编解码注意,,数字可能不止一位。直接上代码:{public String decode(String str) {String result = new String();int size = str.length();int begin = 0;int end = 0;int count = 0;for(int i=0; i <= size-1; ++i) {if(str.charAt(i) > ‘0’ && str.charAt(i) < ‘9’) {count = count * 10 + (str.charAt(i) – ‘0’);if(i == size-1 || str.charAt(i+1) < ‘0’ || str.charAt(i+1) > ‘9’) {for(int j=0; j < count; ++j) {result += str.substring(begin, end);}count = 0;begin = i+1;end = i+1;}}else++end;}return result;}}main(String[] args) {Solution test = new Solution();String str = “a2bc3d13”;String result = test.decode(str);System.out.println(result);}}酒店日期合并

代码还在编写中…

生活的最大悲剧不是失败,而是一个人已经习惯于失败。

2015去哪网实习招聘笔试题

相关文章:

你感兴趣的文章:

标签云: