剑指Offer——数字在排序数组中出现的次数
Posted baoziy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer——数字在排序数组中出现的次数相关的知识,希望对你有一定的参考价值。
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;
以上是关于剑指Offer——数字在排序数组中出现的次数的主要内容,如果未能解决你的问题,请参考以下文章