1. 题目类型
- 20 道选择
- 2 道编程
2. 具体题目
2.1 选择题
选择题就不说了,也记不得那么多,但是在牛客刷题,应该大多都能做出来。
2.2 编程题
- 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
// 直接搞个二分查找就 ok public int search(int[] nums, int target) { int low = 0; int high = nums.length - 1; while(low <= high){ int mid = low + (high - low) / 2; if(target == nums[mid]){ return mid; }else if(target > nums[mid]){ low = mid + 1; }else{ high = mid - 1; } } return -1; }
- 输入一个数,判断这个数是否是 2 的幂次方?
// n 和 n - 1 的二进制进行 & 运算,看结果是不是等于 0 public boolean demo(int n){ // 2 的幂不小于 0 if(n <= 0){ return false; } if(0 == (n & (n - 1))){ return true; } return false; }
全部评论
(6) 回帖