剑指offer刷题

数字在排序数组中出现的次数

2017-12-21  本文已影响0人  大脸猫_2e21

题目:统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,4,5}和数字3,由于3在这个数组中出现了2次,因此输出4

function GetNumberOfK(data, k)
{
    // write code here
  if(data.length===0) return 0
  var m=data.indexOf(k)
  var n=data.lastIndexOf(k)
//前提必须是在数组的前后都找到了k,使用n-m+1获得k的个数
  if(m!=-1&&n!=-1&&m!=n){
      return n-m+1
  }
//针对数组中只有一个k的情况,必须限定m和n都不为-1,因为都为-1的时候  说明数组中没有这个数
   else if(m==n&&m!=-1&&n!=-1){
        return 1
    }
//没找到返回0
    else{
        return 0
    }
}
上一篇下一篇

猜你喜欢

热点阅读