二分查找-lintcode
来源:互联网 发布:word文档下载mac版 编辑:程序博客网 时间:2024/03/29 06:46
给定一个排序的整数数组(升序)和一个要查找的整数target
,用O(logn)
的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1
。
在数组 [1, 2, 3, 3, 4, 5, 10]
中二分查找3
,返回2
。
比较简单,主要要处理target出现多次的情况。
class Solution {public: /** * @param nums: The integer array. * @param target: Target number to find. * @return: The first position of target. Position starts from 0. */ int binarySearch(vector<int> &array, int target) { // write your code here int left = 0; int right = array.size()-1; while(left<=right){ int mid = (right+left)/2; if(target<array[mid]) right = mid-1; else if (target>array[mid]) left = mid +1; else{ //处理出现有多个target的情况。 int j = mid; for(;j>=0&&array[j]==target;j--) ; return j+1; } } return -1; }};
0 0
- 二分查找-lintcode
- 二分查找-lintcode
- lintcode ----二分查找
- LintCode之二分查找
- lintcode:二分查找
- LintCode(easy)二分查找
- LintCode 14 二分查找
- LintCode : 二分查找
- LintCode-二分查找
- LintCode 二分查找
- lintcode:二分查找
- LintCode 二分查找
- lintcode 14. 二分查找
- Lintcode:二分查找
- Lintcode 14. 二分查找
- LintCode Binary Search 二分查找
- 二分查找——LintCode
- lintcode之经典二分查找
- MyEclipse快捷键大全
- struct dirent和DIR结构体
- 1.1.1 Linux是什么
- bzoj2811 apio2012 守卫 guard 贪心
- dwr3实现消息精确推送详细步骤
- 二分查找-lintcode
- Swift之自定义突出按钮Tabbar
- !function(){}() ” 是什么意思
- UITableView基础
- Windows下安装MySQL5.7
- iOS开发之UIImagePickerController详解
- [spring入门学习笔记][spring的IoC原理]
- Android 深入理解Android中的自定义属性
- 白书游--第一章