[刷题]Binary Search
来源:互联网 发布:魔兽世界for mac 国服 编辑:程序博客网 时间:2024/06/07 01:50
[LintCode]Binary Search
class Solution { /** * @param nums: The integer array. * @param target: Target to find. * @return: The first position of target. Position starts from 0. */ public int binarySearch(int[] nums, int target) { // 2015-4-1 O(log n) if (nums == null || nums.length == 0) { return -1; } int start = 0; int end = nums.length - 1; while (start + 1 < end) { int mid = start + (end - start) / 2; // 防止越界 等同于(start + end) / 2 if (nums[mid] >= target) { end = mid; } else { start = mid; } } // while if (nums[start] == target) { return start; } if (nums[end] == target) { return end; } return -1; }}
普通的二分搜索,数组中不含重复元素
class Solution { /** * @param nums: The integer array. * @param target: Target to find. * @return: The first position of target. Position starts from 0. */ public int binarySearch(int[] nums, int target) { //write your code here if (nums == null || nums.length == 0) { return -1; } int start = 0; int end = nums.length - 1; while (start + 1 < end) { int mid = (start + end) / 2; if (num[mid] == target) { return mid; } else if (nums[mid] < target) { start = mid + 1; } if (nums[mid] >= target) { end = mid - 1; } } if (nums[start] == target) { return start; } else if (nums[end] == target) { return end; } return -1; }}
python
class Solution: # @param nums: The integer array # @param target: Target number to find # @return the first position of target in nums, position start from 0 def binarySearch(self, nums, target): if len(nums) == 0: return -1 start = 0 end = len(nums) - 1 while start < end - 1: mid = (start + end) / 2 if nums[mid] < target: start = mid else: end = mid if nums[start] == target: return start if nums[end] == target: return end return -1
0 0
- [刷题]Binary Search
- [刷题]Search Range in Binary Search Tree
- [刷题]Validate Binary Search Tree
- Binary search
- Binary Search
- Binary Search
- binary search
- binary search
- Binary Search
- binary search
- binary search
- binary search
- binary search
- binary search
- binary search
- Binary Search
- Binary search
- Binary Search
- drivers_day10
- HTML个人简历表制作
- 【转】WindowManager$BadTokenException: Unable to add window -- token null is not for an application
- HDU 5191 第一次bestcoder第二题
- acm DP经典题目 滑雪问题 【DP 记忆化搜索 递归】
- [刷题]Binary Search
- drivers_day11
- ios图片压缩
- 鼎泰移民向您介绍香港理工大学
- Web前端UI(含移动端)
- 第三章 文件 I/O
- Drainage Ditches (poj 1273 && hdu 1532 网络流之Ford-Fulkerson)
- 485自收发电路分析
- 【Spring】Spring&WEB整合原理及源码剖析