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

力扣

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

示例 1:

输入: nums = [5,7,7,8,8,10], target = 8

输出: 2

示例 2:

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

输出: 0

提示:

0 <= nums.length <= 105

-109 <= nums[i] <= 109

nums 是一个非递减数组

-109 <= target <= 109

解题思路

双指针

1.双指针i,j分别指向开始和结尾,从两边往中间遍历.

2.当ij对应的值相等并且等于target时,返回差值+1就为个数.

代码:

cpp 复制代码
class Solution {
public:
    int search(vector<int>& nums, int target) {
        int i=0,j = nums.size()-1;
        while(i<=j){
            if(nums[i]==nums[j]&&nums[i]==target){
               return j-i+1; 
            }
            if(nums[i]<target){
                i++;
            }
            if(nums[j]>target){
                j--;
            }
        }
        return 0;
    }
};
相关推荐
wen__xvn34 分钟前
每日一题洛谷P1914 小书童——凯撒密码c++
数据结构·c++·算法
云中飞鸿1 小时前
MFC中CString的Format、与XML中的XML_SETTEXT格式化注意
xml·c++·mfc
BUG 劝退师1 小时前
八大经典排序算法
数据结构·算法·排序算法
m0_748240912 小时前
SpringMVC 请求参数接收
前端·javascript·算法
小林熬夜学编程2 小时前
【MySQL】第八弹---全面解析数据库表的增删改查操作:从创建到检索、排序与分页
linux·开发语言·数据库·mysql·算法
小小小白的编程日记2 小时前
List的基本功能(1)
数据结构·c++·算法·stl·list
_Itachi__2 小时前
LeetCode 热题 100 283. 移动零
数据结构·算法·leetcode
柃歌2 小时前
【UCB CS 61B SP24】Lecture 5 - Lists 3: DLLists and Arrays学习笔记
java·数据结构·笔记·学习·算法
努力可抵万难2 小时前
C++11新特性
开发语言·c++
ox00802 小时前
C++ 设计模式-策略模式
c++·设计模式·策略模式