【c++】leetcode34 在排序数组中查找元素的第一个和最后一个位置

news/2024/4/30 0:33:30

1. 题目 需求 

2. 代码实现 

/*** Definition for singly-linked list.*/
#include<iostream>
#include<vector>
using namespace std;class Solution {
public:vector<int> searchRange(vector<int>& nums, int target) {return vector<int>{findLeft(nums, target), findRight(nums, target)};}int findLeft(vector<int>& nums, int target) {int left = 0, right = nums.size() - 1, mid = 0;while (left <= right) {mid = left + (right - left) / 2;if (target == nums[mid]) {right = mid - 1;}else if (target < nums[mid]) {right = mid - 1;}else {left = mid + 1;}}if (left >= nums.size() || nums[left] != target){ return -1;}return left;}int findRight(vector<int>& nums, int target) {int left = 0, right = nums.size() - 1, mid = 0;while (left <= right) {mid = left + (right - left) / 2;if (target == nums[mid]) {left = mid + 1;}else if (target < nums[mid]) {right = mid - 1;}else {left = mid + 1;}}if (right < 0 || nums[right] != target){ return -1;}else{ return right;}}
};
int main()
{Solution test;vector<int> nums = { 5, 7, 7, 8, 8, 10 };int target = 8;vector<int> searchRange = test.searchRange(nums, target);for (auto var : searchRange){std::cout << var << "  ";}std::cout << " " << std::endl;return 0;
}

 3. 测试结果

3  4C:\Users\lenovo\source\repos\Project1\x64\Debug\Project1.exe (进程 1796)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/10592.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

java Day7 正则表达式|异常

文章目录 1、正则表达式1.1 常用1.2 字符串匹配&#xff0c;提取&#xff0c;分割 2、异常2.1 运行时异常2.2 编译时异常2.3 自定义异常2.3.1 自定义编译时异常2.3.2 自定义运行时异常 1、正则表达式 就是由一些特定的字符组成&#xff0c;完成一个特定的规则 可以用来校验数据…

DataFunSummit 2023因果推断在线峰会:解码数据与因果,引领智能决策新篇章(附大会核心PPT下载)

在数据驱动的时代&#xff0c;因果推断作为数据科学领域的重要分支&#xff0c;正日益受到业界的广泛关注。DataFunSummit 2023年因果推断在线峰会&#xff0c;汇聚了国内外顶尖的因果推断领域专家、学者及业界精英&#xff0c;共同探讨因果推断的最新进展、应用与挑战。本文将…

Lambda表达式 --Java学习笔记

Lambda表达式是jdk8开始新增的一种语法形式作用&#xff1a;用于简化匿名内部类的代码写法格式&#xff1a; 注意&#xff1a;Lambda表达式只能简化函数式接口的匿名内部类 函数式接口指有且仅有一个抽象方法的接口 将来我们见到的大部分函数式接口&#xff0c;上面都可能会…

桥接模式(Bridge Pattern)

原文地址&#xff1a;https://jaune162.blog/design-pattern/bridge-pattern.html 更多精彩文章请移步&#xff1a;https://jaune162.blog 更多专题系列文章请移步&#xff1a;https://books.jaune162.blog 序言 桥接模式是一种结构型设计模式&#xff0c;它旨在将抽象部分与实…

vue/uniapp路由history模式下宝塔空间链接打开新窗口显示404解决方法

vue/uniapp路由history模式下宝塔空间链接打开新窗口显示404&#xff0c;或者域名后带路径参数刷新就报404 解决方法&#xff1a; 宝塔中站点配置修改&#xff1a;【配置文件】中添加下面代码&#xff0c;具体如图&#xff1a; location / {try_files $uri $uri/ /index.html…

Vue2+ElementUI表单、Form组件的封装

Vue2ElementUI表单、Form组件的封装 &#xff1a;引言 在 Vue2 项目中&#xff0c;ElementUI 的 el-form 组件是常用的表单组件。它提供了丰富的功能和样式&#xff0c;可以满足各种需求。但是&#xff0c;在实际开发中&#xff0c;我们经常会遇到一些重复性的需求&#xff0c…