标签:实现 ret out auth size int end pre 次数 null
1、题目描述
统计一个数字在排序数组中出现的次数。
2、代码实现
package com.baozi.offer;
/**
* 统计一个数字在排序数组中出现的次数。
*
* @author BaoZi
* @create 2019-07-14-8:52
*/
public class Offer26 {
public static void main(String[] args) {
Offer26 offer26 = new Offer26();
int[] array = new int[]{1, 2, 3, 4, 4, 4, 4, 4, 5, 6, 7, 8, 9};
int number = offer26.GetNumberOfK(array, 1);
System.out.println(number);
}
public int GetNumberOfK(int[] array, int k) {
if (array.length == 0 || array == null) {
return 0;
}
return get(array, k, 0, array.length - 1);
}
private int get(int[] array, int k, int begin, int end) {
if (begin > end) {
return 0;
}
int mid = (begin + end) >> 1;
if (k > array[mid]) {
return get(array, k, mid + 1, end);
} else if (k < array[mid]) {
return get(array, k, begin, mid - 1);
} else {
return get(array, k, begin, mid - 1) + get(array, k, mid + 1, end) + 1;
}
}
}
标签:实现 ret out auth size int end pre 次数 null
原文地址:https://www.cnblogs.com/BaoZiY/p/11183103.html