剑指offer 38. 数字在排序数组中出现的次数
来源:互联网 发布:java数组的调用 编辑:程序博客网 时间:2024/06/02 05:44
//题目:给出排序数组,给出一个数,返回这个数的出现次数public class Main {public static void main(String[] args) throws Exception {System.out.println(findCount(new int[]{1},1));}public static int findCount(int[] input,int num) {int first = findFirstIndex(input,num);int last = findLastIndex(input, num);if(first == -1 || last == -1){return 0;}else{return last-first+1;}}public static int findFirstIndex(int[] input, int num){//找到第一次出现这个数的下标int low = 0;int high = input.length-1;boolean found = false;while(low<=high){int mid = (low+high)/2;if(input[mid] == num){found = true;}if(input[mid]<num){low = mid+1;}else{high = mid-1;}}if(found == false){return -1;}return high+1;}public static int findLastIndex(int[] input, int num){//找到最后一次出现这个数的下标int low = 0;int high = input.length-1;boolean found = false;while(low<=high){int mid = (low+high)/2;if(input[mid] == num){found = true;}if(input[mid]>num){high = mid-1;}else{low = mid+1;}}if(found == false){return -1;}return low-1;}}
0 0
- 【剑指offer】数字在排序数组中出现的次数
- 剑指offer--数字在排序数组中出现的次数
- 《剑指offer》数字在排序数组中出现的次数
- 剑指offer:数字在排序数组中出现的次数
- 剑指offer-数字在排序数组中出现的次数
- 剑指offer:数字在排序数组中出现的次数
- [剑指offer]数字在排序数组中出现的次数
- 剑指offer 数字在排序数组中出现的次数
- [剑指offer]数字在排序数组中出现的次数
- 剑指offer|数字在排序数组中出现的次数
- 剑指offer-数字在排序数组中出现的次数
- 《剑指offer》-数字在排序数组中出现的次数
- 剑指offer - 数字在排序数组中出现的次数
- 剑指offer-数字在排序数组中出现的次数
- 【剑指offer】数字在排序数组中出现的次数
- 剑指offer:数字在排序数组中出现的次数
- 《剑指offer》数字在排序数组中出现的次数
- 剑指offer-数字在排序数组中出现的次数
- 常用的Mysql数据库操作语句大全
- PHP 性能分析魔法方法
- MySQL用户管理
- SuperMap iDesktop 8C 空间分析
- 51nod1459 迷宫游戏 (最短路径)
- 剑指offer 38. 数字在排序数组中出现的次数
- 数论常用内容——整除
- UC伯克利、谷歌无监督深度学习框架,模仿人眼实现视频中的自我运动认知
- 获取多个rowguid字符串
- 数组指针VS指针数组,函数指针VS指针函数
- Combination Sum III
- 斯坦福机器学习笔记七
- SuperMap iDesktop 8C 地图制图
- 深入理解JS—对象和原型