剑指offer题解 数字在排序数组中出现的次数
2016-06-27 10:46
465 查看
题目描述
统计一个数字在排序数组中出现的次数。
用两次二分查找,先找最前面的那个数字,再找最后面的那个数字,两者中间的个数即为结果。
统计一个数字在排序数组中出现的次数。
用两次二分查找,先找最前面的那个数字,再找最后面的那个数字,两者中间的个数即为结果。
public class Solution { public int GetNumberOfK(int [] array , int k) { if(array==null||array.length==0) return 0; int low=0; int high=array.length-1; int mid=-1; int left=0; int right=0; while(low<=high){ mid=(low+high)/2; if(array[mid]==k){ if((mid>0&&array[mid-1]!=k)||mid==0){ left=mid; break; }else{ high=mid-1; } }else if(array[mid]>k){ high=mid-1; }else{ low=mid+1; } } if(high<low) return 0; low=0; high=array.length-1; while(low<=high){ mid=(low+high)/2; if(array[mid]==k){ if((mid<array.length-1&&array[mid+1]!=k)||mid==array.length-1){ right=mid; break; }else{ low=mid+1; } }else if(array[mid]>k){ high=mid-1; }else{ low=mid+1; } } return right-left+1; } }
相关文章推荐
- sublime text 2 JS 代码提示和代码格式化format
- HTML5不支持标签和新增标签详解
- jquery获取select 选中的options
- js计算类型转换
- 学习Javascript闭包(Closure)
- jQuery延迟加载(懒加载)插件 – jquery.lazyload.js
- LeetCode—367. Valid Perfect Square
- js选择器全面解析
- jquery学习笔记1——选择器
- 跳转后全屏,兼容大部分浏览器JavaScript
- javascript检测对象中是否存在某个属性判断方法小结
- HTML5语义化
- ???背景模糊
- 图解JSP与Servlet的关系
- Caffe代码阅读笔记(3)
- HTML特殊字符编码对照表
- Leetcode 367. Valid Perfect Square
- javascript 和 java 都支持split("")
- Jsp与servlet的区别
- 常规功能和模块自定义系统 (cfcmms)—050简易数据字典的加入和使用