LeetCode——剑指 Offer 53 - I【 在排序数组中查找数字 I】

目录

题目

解题思路

代码详解


题目

剑指 Offer 53 - I. 在排序数组中查找数字 I

题目概述

统计一个数字在排序数组中出现的次数。

示例

输入: nums = [5,7,7,8,8,10], target = 8
输出: 2
输入: nums = [5,7,7,8,8,10], target = 6
输出: 0

基础框架

class Solution {
    public int search(int[] nums, int target) {

    }
}

解题思路

①for循环直接遍历即可!

②由于数组有序,用二分法,先查找第一个元素出现的位置,往后记数即可!

代码详解

  class Solution {
    public int search(int[] nums, int target) {
        int sum=0;
        if (nums.length == 0) {
            return 0;
        }
        for(int i=0;i

LeetCode——剑指 Offer 53 - I【 在排序数组中查找数字 I】_第1张图片

 优秀题解

//二分法
class Solution {
    public int search(int[] nums, int target) {
        int left=0;
        int right=nums.length-1;
        int count=0;
        while(left=target){
                right=mid;
            }else{
                left=mid+1;
            }
        }
        while(left

LeetCode——剑指 Offer 53 - I【 在排序数组中查找数字 I】_第2张图片

 

你可能感兴趣的:(#,算法,leetcode,排序算法,算法,数组)