数字在排序数组中出现的次数
2016-04-06 21:25
337 查看
题目描述
统计一个数字在排序数组中出现的次数。代码:
public class Solution { public int GetNumberOfK(int [] array , int k) { if(array.length>0){ int counter=0; int left=0,right=array.length-1,mid=0; while(left<right){ mid= (left+right)/2; if(array[mid]>k){ right=mid-1; }else if(array[mid]<k){ left=mid+1; }else{ break; } } if(left!=right){ if(array[mid]==k){ counter++; left=mid-1; while(left>=0 && array[left]==k){ counter++; left--; } right=mid+1; while(right<array.length && array[right]==k){ counter++; right++; } } }else{ if(array[left]==k){ counter++; left++; while(left<array.length && array[left]==k){ counter++; left++; } right--; while(right>=0 && array[right]==k){ counter++; right--; } } } return counter; } else{ return 0; } } }
相关文章推荐
- 面试题3:二维数组中的查找
- 面试题四:替换空格
- 剑指offer第一题
- 剑指Offer 面试题3:二维数组中查找
- 从尾到头打印链表
- 二叉树两个结点的最低公共祖先
- 根据后序和中序遍历重建二叉树
- 根据先序和中序遍历重建二叉树
- 根据先序和中序遍历重建二叉树
- 根据后序和中序遍历重建二叉树
- 二叉树两个结点的最低公共祖先
- 《剑指Offer》面试题1:赋值运算符函数
- 剑指offer第三题:二维数组中查找
- 剑指offer 重建二叉树 java实现
- 剑指offer 替换空格 java实现
- 九度 Online Judge 之《剑指 Offer》一书相关题目解答
- 剑指offer 二维数组中的查找
- 剑指offer 调整数组顺序使奇数位于偶数前面
- 【练习笔记】剑指offer-面试题8 :旋转数组的最小数字
- 【练习笔记】剑指offer-变态跳台阶