剑指 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 <= numsi <= 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;
    }
};
相关推荐
vivo互联网技术4 小时前
CVPR 2026 | 全新强化学习框架 BeautyGRPO:重塑真实人像
算法·大模型·cvpr·影像
Darling噜啦啦5 小时前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
clint4567 小时前
C++进阶(1)——前景提要
c++
用户497863050738 小时前
(一)小红的数组操作
算法·编程语言
夜悊11 小时前
C++代码示例:进制数简单生成工具
c++
怕浪猫11 小时前
Electron 系列文章封面图
算法·架构·前端框架
郝学胜_神的一滴12 小时前
CMake 021: IF 条件判据详诠
c++·cmake
徐小夕13 小时前
JitWord 3.0 正式发布,高精度Word异构解析+复杂组件兼容,打造web端协同Word编辑器
前端·vue.js·算法
_wyt0011 天前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp