1.题目描述
统计一个数字在排序数组中出现的次数。
2.算法描述
数组是有序的。
初始化
从左到右找数字
第一次出现的位置
。如果
,说明数组中没有这个数字k,返回0。
从右到左找数字
第一次出现的位置
.
返回
3.代码描述
3.1.Java代码
public class Solution {
public int GetNumberOfK(int [] array , int k) {
int l = -1;
int r = -1;
for(int i=0;i<array.length;i++)
if(array[i] == k){
l = i;
break;
}
if(l == -1)
return 0;
for(int j=array.length-1;j>=0;j--)
if(array[j] == k){
r = j;
break;
}
return r- l + 1;
}
}
3.2.Python代码
#人生苦短 我用Python
# -*- coding:utf-8 -*-
class Solution:
def GetNumberOfK(self, data, k):
return data.count(k)