leetcode (Binary Search)
阿新 • • 發佈:2019-01-10
Title:Binary Search 704
Difficulty:Easy
原題leetcode地址: https://leetcode.com/problems/binary-search/
1. 二分法
時間複雜度:O(logn),一層while迴圈。
空間複雜度:O(n),沒有申請ewai空間。
/** * 二分法 * @param nums * @param target * @return */ public static int search(int[] nums, int target) { if (target < nums[0] || target > nums[nums.length - 1]) { return -1; } int low = 0; int high = nums.length - 1; while (low <= high) { int mid = (low + high) / 2; if (nums[mid] == target) { return mid; } else if (nums[mid] < target) { low = mid + 1; } else { high = mid - 1; } } return -1; }