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

思路一:二分单边 + 线性扫描

先用一次二分查找找到边界,再再边界里面寻找目标值

class Solution {public:int search(vector<int>& nums, int target) {int low=0;int high=nums.size()-1;int res=0;//判断只有一个数的情况// if(nums.size()==1){//     if(nums[0]==target){//         res++;//         return res;//     }// }//二分查找找到目标值所在的边界while(low<=high){int mid = (low+high)/2;if(nums[mid]<target){low = mid+1;}else if(nums[mid]>target){high = mid-1;}else {break;}}//在边界里面寻找目标值for(int i=low;i<=high;i++){if(nums[i]==target){res++;}}return res;}
};

思路二:两次二分查找,找到左右边界,最终结果为right-left-1

LeetCode-剑指 Offer 53 - I. 在排序数组中查找数字 I相关推荐

  1. Leetcode 剑指 Offer 53 - I. 在排序数组中查找数字 I (每日一题 20210928)

    统计一个数字在排序数组中出现的次数.示例 1:输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 示例 2:输入: nums = [5,7,7,8,8,10], t ...

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

    [LeetCode]剑指 Offer 53 - I. 在排序数组中查找数字 I 文章目录 [LeetCode]剑指 Offer 53 - I. 在排序数组中查找数字 I 一.二分法 总结 一.二分法 ...

  3. 剑指 Offer 53 - I. 在排序数组中查找数字 I(二分法)

    统计一个数字在排序数组中出现的次数. 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 示例 2: 输入: nums = [5,7,7,8,8,10] ...

  4. 【算法】剑指 Offer 53 - I. 在排序数组中查找数字 I

    1.概述 统计一个数字在排序数组中出现的次数. 示例 1: 输入: nums = [5,7,7,8,8,10], target =

  5. 剑指Offer - 面试题53 - I. 在排序数组中查找数字 I(二分查找的变形版本)

    1. 题目 统计一个数字在排序数组中出现的次数. 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2示例 2: 输入: nums = [5,7,7,8, ...

  6. leetcode剑指 Offer 53 - II. 0~n-1中缺失的数字(二分查找)

    一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范围0-n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字. 示例 1: 输入: [0,1,3 ...

  7. 【剑指offer】面试题53 - 1:在排序数组中查找数字 I(java)

    统计一个数字在排序数组中出现的次数. 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 示例 2: 输入: nums = [5,7,7,8,8,10] ...

  8. 剑指offer面试题53 - I. 在排序数组中查找数字 I(二分查找)

    题目描述 统计一个数字在排序数组中出现的次数. 思路 详见链接 代码 class Solution:def search(self,nums:[int],target:int)->int:i, ...

  9. 【算法】剑指 Offer 53 - II. 0~n-1中缺失的数字

    1.概述 剑指 Offer 53 - II. 0-n-1中缺失的数字 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范围0-n-1内的n个数字中有且只有一 ...

最新文章

  1. R语言with函数和within函数:with函数基于表达式在dataframe上计算、within函数基于表达式在dataframe上计算并修改原始数据
  2. python元组类型的变量以及字符串类型的变量作为参数进行传值
  3. 创建第一个vue实例
  4. hdu1443 Joseph(约瑟夫环)
  5. SIFT四部曲之——构建关键点特征描述符
  6. 异常的分级分类与处理策略
  7. POI对Excel自定义日期格式的读取
  8. 英语口语-文章朗读Week10 Thursday
  9. 做为一名java高级程序员,需要了解哪些岗位?
  10. 区间数值计数(洛谷P1980题题解,Java语言描述)
  11. 第七届 蓝桥杯 省赛 第九题 交换瓶子
  12. 尝试AD19从焊盘中间出线
  13. 设计模式(十): 代理模式
  14. 【路径规划】局部路径规划算法——B样条曲线法(含python实现)
  15. Longest Common Prefix_LeetCode
  16. 2020高考倒计时html,2020高考倒计时的励志说说
  17. 硬盘无法访问设备未就绪,里面的数据怎么找回
  18. Unraid配置阿里云加速镜像安装荒野无灯qBittorrent镜像-原创
  19. c语言从键盘输入一个百分制成绩score,C语言 基础练习40题
  20. 详解小程序的蓝牙模块

热门文章

  1. CSP认证201512-2 消除类游戏[C++题解]:模拟
  2. PAT甲级1081 Rational Sum:[C++题解]分数求和、辗转相除法求最大公约数、long long有一个数据溢出
  3. 循环冗余码CRC使用matlab实现
  4. java collections.sort 忽略大小写排序_Java Spring Mongo排序忽略大小写问题
  5. java断点续传上传_java断点续传上传文件,突然关闭然后再上传文件为什么不是从之前上传的进度上传...
  6. 闭式系统蒸汽管径推荐速度_闭式空调系统管径选用表
  7. oracle 枚举_枚举导出为sql语句java实现
  8. mysql存储过程遍历新增_MySQL存储过程:内部调用存储过程、存储过程实现遍历数据库建表以及修改字段...
  9. php中address,address.php
  10. 中provide的用法_英语词法:中考动词用法系统梳理下