找指定target的最左位置。

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) {
if(nums == null) return -1;
if(nums.length == 0) return -1;
int left = 0; int right = nums.length -1; while(left + 1 < right){
int mid = (left + right) / 2;
if(nums[mid] < target){
left = mid;
}
else if(nums[mid] > target){
right = mid;
}
else if(nums[mid] == target){
right = mid;
}
}
if(nums[left] == target){
return left;
}
else if(nums[right] == target){
return right;
}
else return -1;
}
}

最新文章

  1. Quartz2D总结
  2. 【转】PL/SQL Developer各个窗口的功能
  3. springmvc和struts2的差别
  4. (转)JAVA AJAX教程第四章—AJAX和MVC的简单结合
  5. MINIX3 进程通信分析
  6. Django Signals 从实践到源码分析(转)
  7. Swift 3必看:新的访问控制fileprivate和open
  8. java 写的能够响应浏览器请求的 http 服务器
  9. PHP面向对象编程快速入门
  10. 先登录 在跳转到tabBar
  11. Oracle 11g oracle客户端(32位)PL/SQL develepment的安装配置
  12. win10如何快速扫描-上海IT外包
  13. [Swift]LeetCode290. 单词模式 | Word Pattern
  14. Unresolved externa Round
  15. 【读书笔记】iOS-动态类型和动态绑定
  16. web前端学习路线:HTML5教程之前端模块化开发
  17. P3899 [湖南集训]谈笑风生
  18. 153. Find Minimum in Rotated Sorted Array (Array; Divide-and-Conquer)
  19. Android View 深度分析requestLayout、invalidate与postInvalidate
  20. IDA 远程调试 Android so

热门文章

  1. 关于js执行顺序
  2. wamp环境下phpmyadmin拒绝访问
  3. Hibernate &lt;二级缓存&gt;
  4. Linux 系统使用之 VMware Tools安装
  5. 配置spring事务管理的几种方式(声明式事务)
  6. 使用 GPG 对数据进行加密解密签名
  7. Windows7系统下JAVA运行环境下载、安装和设置(第二次更新:2012年03月14日)
  8. a标签中的点击事件
  9. 学完了js的知识,一起分享总结知识点
  10. 第十二章 非对称加密算法-RSA