码迷,mamicode.com
首页 > 编程语言 > 详细

剑指Offer——数字在排序数组中出现的次数

时间:2019-07-14 09:22:31      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:实现   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;
        }
    }
}

  

剑指Offer——数字在排序数组中出现的次数

标签:实现   ret   out   auth   size   int end   pre   次数   null   

原文地址:https://www.cnblogs.com/BaoZiY/p/11183103.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!