leetcode记录
- 二分查找通用模板
class Solution { public int search (int[] nums, int target){ if(nums == null || nums.length ==0){ return -1; } int left = 0, right = nums.length - 1; while(left <= right){ int mid = left + (right - left) / 2; if(nums[mid] == target){ return mid; }else if(nums[mid] < target){ left = mid + 1; }else { right = mid - 1; } } return -1; } }
- 整数求平方根无小数
class Solution { public int mySqrt (int x) { int left = 0,right = x, ans = -1; while( left <= right) { int mid = left + (right -1) / 2; if ((long) mid * mid <= x) { ans = mid; left = mid + 1; } esle { right = mid - 1; } } return ans; } }