剑指 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.当i和j对应的值相等并且等于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;
    }
};
相关推荐
wzdark4 分钟前
算法与数据结构教学的可视化新模式探索4
数据结构
就叫年华吧丶7 分钟前
长文档点目录定位总是不准?一个 content-visibility + 平滑滚动引发的连环坑(Vue3 实战)
前端·javascript·算法·vue
FPGA信号处理15 分钟前
【信号检测与估计】第四节课:非高斯噪声下的 BLUE、极大似然与 EM 算法
人工智能·算法·机器学习
无名猿25 分钟前
nullptr 取代 NULL 和 0:空指针的三种写法和唯一正确解
c++·现代c++·语法基础·踩坑记录
大侠归来29 分钟前
C++ 与 Lua 的协程交互:从原理到实战
c++·lua·交互
无名猿37 分钟前
size_t 与 int 混用陷阱:有符号无符号比较与整数提升
c++·标准库·语法基础·踩坑记录
.道阻且长.41 分钟前
C++ 11:可变参数模板
前端·c++·算法
hzxpaipai43 分钟前
企业官网后台怎么设计?从产品分类、参数到资料下载的数据结构
数据结构
m0_380743871 小时前
Qt实现调用相机进行拍照并进行图像处理
开发语言·c++
励志不掉头发的内向程序员3 小时前
【从零写一个CAD 03】三个 double 值得单独一个类吗:把视图变换抽成 View
开发语言·c++·qt·学习·系统架构