当前位置: 首页 > news >正文

LeetCode 刷题【34. 在排序数组中查找元素的第一个和最后一个位置、35. 搜索插入位置】

34. 在排序数组中查找元素的第一个和最后一个位置

自己做

解:二分查找

class Solution {
public://二分查找int halfFind(vector<int> nums, int begin, int end, int target){if(begin > end)         //找不到的情况return -1;int mid = (begin + end) / 2;if(nums[mid] == target) //找到的情况return mid;if(nums[mid] > target)  //中轴偏大,往左边继续找return halfFind(nums, begin, mid - 1, target);if(nums[mid] < target)  //中轴偏小,往右边继续找return halfFind(nums, mid + 1, end, target);return 0;      //应付LeetCode}vector<int> searchRange(vector<int>& nums, int target) {//二分查找到元素int len = nums.size();if(len == 0)                //数组为空return {-1,-1};            int k = halfFind(nums, 0, len - 1, target);if(k == -1)                 //元素不存在return {-1,-1};//元素存在的情况int begin = k, end = k;//先往左边找while(begin >= 0 && nums[begin] == target)begin--;//再往右边找while(end < len && nums[end] == target)end++;return {begin + 1,end - 1};}
};

35. 搜索插入位置

自己做

解:二分查找

class Solution {
public://二分查找int halfFind(vector<int> nums, int begin, int end, int target){if(begin > end)         //找不到的情况return end + 1;     //返回要插入的下标int mid = (begin + end) / 2;if(nums[mid] == target) //找到的情况return mid;if(nums[mid] > target)  //中轴偏大,往左边继续找return halfFind(nums, begin, mid - 1, target);if(nums[mid] < target)  //中轴偏小,往右边继续找return halfFind(nums, mid + 1, end, target);return 0;      //应付LeetCode}int searchInsert(vector<int>& nums, int target) {int len = nums.size();return halfFind(nums, 0, len - 1, target);}
};

http://www.lryc.cn/news/614092.html

相关文章:

  • 文件管理从基础到高级:文件描述符、超大文件切片重组与快速删除实战
  • 五、CV_ResNet
  • 腾讯iOA:数据安全的港湾
  • wordpress的wp-config.php文件的详解
  • proteus实现简易DS18B20温度计(stm32)
  • Linux软硬链接与动静态库
  • SQL的多表连接查询(难点)
  • 冷冻食材,鲜美生活的新选择
  • trae开发c#
  • 面试题:bable,plugin,loader,还有在打包过程中.vue/.react文件是如何转化为.js文件的
  • 解决Ollama外部服务器无法访问:配置 `OLLAMA_HOST=0.0.0.0` 指南
  • 【世纪龙科技】数智重构车身实训-汽车车身测量虚拟实训软件
  • 网络基础——网络层级
  • 库函数NTC采样温度的方法(STC8)
  • 大模型——部署体验gpt-oss-20b
  • 项目一系列-第3章 若依框架入门
  • SEABORN库函数(第十八节课内容总结)
  • 睿抗开发者大赛国赛-24
  • Java基础之匿名内部类与lambda表达式
  • DAY 39 图像数据与显存
  • 缓存投毒进阶 -- justctf 2025 Busy Traffic
  • docker缓存目录转移设置和生效过程
  • 总结运行CRMEB标准版(uniapp)微信小程序的问题
  • 站在Vue的角度,对比鸿蒙开发中的数据渲染二
  • 【ESP32-menuconfig(1) -- Build Type及Bootloader config】
  • 跨平台音乐管理新方案:Melody如何实现一站式音源整合
  • 76 模块编程之高精度定时器
  • 数据仓库知识
  • PBootcms网站模板伪静态配置教程
  • C++信息学奥赛一本通-第一部分-基础一-第2章-第5节