专题三_二分查找(2)

目录

35. 搜索插入位置

解析

题解

852. 山脉数组的峰顶索引

解析

题解

162. 寻找峰值

解析

题解


35. 搜索插入位置

35. 搜索插入位置 - 力扣(LeetCode)

解析

题解

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        // 021_专题三_二分查找算法_搜索插入位置_C++
        int left = 0, right = nums.size() - 1;
        while (left < right)
        {
            int mid = left + (right - left) / 2;
            if (nums[mid] < target)
                left = mid + 1;
            else
                right = mid;    // 没有减法就不需要 mid 的计算就不需要 + 1
        }
        if (nums[left] < target) return left + 1; // right 也行
        return right;
    }
};

852. 山脉数组的峰顶索引

852. 山脉数组的峰顶索引 - 力扣(LeetCode)

解析

题解

class Solution {
public:
    int peakIndexInMountainArray(vector<int>& arr) {
        // 022_专题三_二分查找算法_山脉数组的峰顶索引_C++
        int left = 1, right = arr.size() - 2; // 依照题意开头和结尾是不可能的
        while (left < right)
        {
            int mid = left + (right - left + 1) / 2;
            if (arr[mid] > arr[mid - 1])
                left = mid;
            else
                right = mid - 1;
        }
        return left;
    }
};

162. 寻找峰值

162. 寻找峰值 - 力扣(LeetCode)

解析

题解

class Solution {
public:
    int findPeakElement(vector<int>& nums) {
        // 023_专题三_二分查找算法_寻找峰值_C++
        int left = 0, right = nums.size() - 1;
        while (left < right)
        {
            int mid = left + (right - left) / 2;
            if (nums[mid] > nums[mid + 1])
                right = mid;
            else
                left = mid +1;
        }
        return left;    // 两个都行
    }
};

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

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

相关文章

【R】Error in library(foreach) : 不存在叫‘foreach’这个名字的程辑包

Error in library(foreach) : 不存在叫‘foreach’这个名字的程辑包 此外: Warning message: package ‘parallel’ is a base package, and should not be updated 解决方法 缺少名为 foreach 的包&#xff0c;使用install.packages("foreach")将名为foreach 的包…

从学习海底捞到学习巴奴,中国餐饮带洋快餐重归“产品主义”

俗话说“民以食为天”&#xff0c;吃饭一向是国人的头等大事&#xff0c;餐饮业也是经济的强劲助推力。新世纪以来&#xff0c;餐饮业不断讲述着热辣滚烫的商业故事。 2006年&#xff0c;拥有“必胜客”、“肯德基”等品牌的餐饮巨头百胜集团&#xff0c;组织两百多名区域经理…

知识图谱表示

文章目录 知识表示知识表示研究符号表示方法向量表示方法 知识表示 简单而言&#xff0c;知识表示&#xff08;KR&#xff09;就是用易于计算机处理的方式来描述人脑的知识的方法。KR不是数据格式、不等同于数据结构、也不是编程语言&#xff0c;对于人工智能而言&#xff0c;数…

SAP-怎么查一个帐号访问事务代码的记录或者一个事务代码的被访问记录

起因 上周六&#xff0c;查了某用户对某事务代码的访问记录。今天又要查类似的信息。我发现我居然忘了该怎么查了。于是在处理完事情之后&#xff0c;整理了查询的过程&#xff0c;形成了这篇文章。 经过 热心网友告诉了我一个事务代码&#xff1a;ST03N - 工作负载和性能统…

【Angular】什么是Angular中的APP_BASE_HREF

1 概述: 在这篇文章中&#xff0c;我们将看到Angular 10中的APP_BASE_HREF是什么以及如何使用它。 APP_BASE_HREF为当前页面的基础href返回一个预定义的DI标记。 APP_BASE_HREF是应该被保留的URL前缀。 2 语法: provide: APP_BASE_HREF, useValue: /gfgapp3 步骤: 在app.m…

深度学习-机器视觉part2

深度学习-机器视觉part2 文章目录 深度学习-机器视觉part2一、从卷积到卷积神经网络二、手撕卷积代码2.1 动机2.2 数据集2.3 卷积操作2.3.1 填充&#xff08;padding&#xff09;2.3.2 卷积块2.3.3 池化2.3.4 Softmax 2.4 完整CNN2.5 训练改进 三、经典CNN模型介绍四、CNN模型的…

YPay源支付V7开源版

YPay_V7版本即将停止维护更新&#xff0c;同时我们将开放最新版开源代码供学习和参考。虽然首批阶段的【function_8.1.php文件是加密的】&#xff0c;但授权已经除去&#xff0c;该代码将在新版YPay上线时开放给大家。我们也会定期进行迭代更新&#xff0c;随后将创建对应仓库&…

el相机检测仪是什么

TH-EL3-EL相机检测仪&#xff0c;即电致发光&#xff08;Electroluminescence&#xff09;相机检测仪&#xff0c;是一种先进的无损检测设备&#xff0c;主要应用于光伏产业中的电池片质量评估。这种设备利用高分辨率的相机捕捉电池片在电致发光状态下的微小缺陷和热斑&#xf…

探索使用对比损失的孪生网络进行图像相似性比较

点击下方卡片&#xff0c;关注“小白玩转Python”公众号 简介 在计算机视觉领域&#xff0c;准确地测量图像相似性是一项关键任务&#xff0c;具有广泛的实际应用。从图像搜索引擎到人脸识别系统和基于内容的推荐系统&#xff0c;有效比较和查找相似图像的能力非常重要。Siames…

Linux环境安装Mariadb(欧拉)

一、安装Mariadb 1.方式一&#xff1a;源码离线安装 2.方式二&#xff1a;Docker离线安装 3.数据库安装常见问题 3.1 mariadb启动失败 解决&#xff1a;排查下面2个文件是否有问题&#xff0c;无问题则执行第三个语句 ①.vim /home/data/mariadb/etc/my.cnf ②.vim /usr/lib/s…

德国FSV30罗德与施瓦茨频谱仪

181/2461/8938产品概述&#xff1a; 罗德与施瓦茨 FSV30 是一款速度极快且多功能的信号和频谱分析仪&#xff0c;适用于从事射频系统开发、生产、安装和维修工作的注重性能、注重成本的用户。 在开发应用中&#xff0c;罗德与施瓦茨 FSV30 凭借其出色的射频特性、同类产品中无…

差分与前缀和

目录 差分法 例题&#xff1a;大学里的树木要打药 前缀和 例题&#xff1a;大学里的树木要维护 差分法 差分法的应用主要是用于处理区间问题&#xff0c;当一个数组要在很多不确定的区间&#xff0c;加上相同的一个数&#xff0c;我们如果每个数都进行加法操作的话&#x…

美易官方:美联储六月降息概率已跌至50%以下

美联储六月降息概率已跌至50%以下&#xff0c;这一消息在全球金融市场上引起了广泛的关注和讨论。市场分析师们纷纷对此进行解读&#xff0c;投资者们也在重新评估自己的投资策略。本文将从多个角度对这一事件进行深入分析&#xff0c;并探讨其可能对市场产生的影响。 3月ISM制…

用html写个简历吧!听起来就很酷!

用纯html写个个人简历&#xff01;首先得先找个模板&#xff01; 一个优秀模板所应该具有的素质&#xff1f; 简单&#xff1f; 仅仅一个html页面&#xff0c;完全没有乱七八糟&#xff0c;保证学的明明白白。 简单整洁&#xff1f; 该有的内容一个不少&#xff01; 一个完…

STM32学习笔记(9_2)- USART串口外设

无人问津也好&#xff0c;技不如人也罢&#xff0c;都应静下心来&#xff0c;去做该做的事。 最近在学STM32&#xff0c;所以也开贴记录一下主要内容&#xff0c;省的过目即忘。视频教程为江科大&#xff08;改名江协科技&#xff09;&#xff0c;网站jiangxiekeji.com 在STM3…

深入探索Yarn:安装与使用指南

Yarn 是一个由 Facebook 开发的 JavaScript 包管理器&#xff0c;旨在提供更快、更可靠的包管理体验。它与 npm 类似&#xff0c;但在某些方面更加高效和可靠。本文将介绍如何安装 Yarn&#xff0c;并展示如何使用它来管理 JavaScript 项目的依赖。 1. 安装 Yarn Yarn 可以通…

软件测试用例(1)

测试用例的基本要素 回顾一下测试用例的概念: 测试用例是为了实施测试而向被测试的系统提供的一组集合, 这组集合包含: 测试环境, 操作步骤, 测试数据, 预期结果等要素. 好的测试用例是一个不熟悉业务的人也能依据用例来很快的进行测试. 评价测试用例的标准: 对比好坏用例…

80后、90后记忆中的经典软件正在老去,新型平台在悄然崛起

当今软件领域&#xff0c;可谓是瞬息万变。 更新迭代频繁&#xff0c;部分软件稳坐电脑桌面&#xff0c;而有些&#xff0c;则沦为记忆深处的图标&#xff0c;在岁月长河中悄然“凋零”。 试问&#xff0c;那些曾属于80、90后独特记忆的经典软件&#xff0c;你还记得多少&…

RAG 新进展:伊克罗德信息、墨奇科技战略合作,共研低成本快速定制大模型

AIGC 持续火爆&#xff0c;AI 核心技术百花齐放。过去一年里&#xff0c;大语言模型 LLM&#xff08;Large Language Model&#xff09;与 AIGC 引爆整个技术界&#xff0c;不过让 AIGC 落地千行百业&#xff0c;实现商业化使用&#xff0c;则面临更多挑战。例如&#xff0c;训…

Centos7 elasticsearch-7.7.0 集群搭建,启用x-pack验证 Kibana7.4用户管理

前言 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎&#xff0c;能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心&#xff0c;它集中存储您的数据&#xff0c;帮助您发现意料之中以及意料之外的情况。 环境准备 软件 …