10-14每日一题:剑指 Offer II 069. 山峰数组的顶部

LeetCode刷题记录---剑指Offer II 剑指Offer II 全部题解已更新完毕~~~ 阅读详情

剑指 Offer II 069. 山峰数组的顶部

思路:二分查找

本题无法根据左右两区间大小划分左右区间,但是可以通过左右区间不同性质得到二段性,左半边区间满足单调递增,但是有半边不满足单调递增,反之也成立

class Solution {
public:
    int peakIndexInMountainArray(vector<int>& arr) {
        int l = 1, r = arr.size() - 1;
        while (l < r) {
            int mid = l + r + 1 >> 1;
            if (arr[mid - 1] < arr[mid]) l = mid;
            else r = mid - 1;
        }
        return r;
    }
};

162. 寻找峰值

思路:二分查找

本题对于上题改进是,可以有多个峰值点。这个时候能不能继续二分呢?
答案是肯定的。首先考虑,从左边开始走,如果找到nums[i]>nums[i+1]nums[i]>nums[i+1]nums[i]>nums[i+1]这个点就可以是峰值点,如果一直单增,最右边的点就是峰值点,所以答案一定存在。
二分会不会找不到解呢?如果发现了nums[mid]>nums[mid+1]nums[mid]>nums[mid+1]nums[mid]>nums[mid+1],在midmidmid的左侧一定有有峰值所以本题依然可以二分寻找答案

class Solution {
public:
    int findPeakElement(vector<int>& nums) {
        int l = 0, r = nums.size() - 1;
        while (l < r) {
            int mid = l + r >> 1;
            if (nums[mid] > nums[mid + 1]) r = mid;
            else l = mid + 1;
        }
        return r;
    }
};
不用FFmpeg!纯前端实现RTSP直播的3种现代方案对比(WebSocket/Wasm/WebCodecs) 本文深入探讨了纯前端实现RTSP直播的三种现代技术方案:WebSocket代理转发、Wasm解码和WebCodecs硬解。通过详细的架构设计、性能实测数据和兼容性分析,帮助开发者在安防监控、智慧城市等场景中选择最佳方案,实现低延迟、高效率的视频流处理。 阅读详情

相关推荐

Halcon实战:基于图像清晰度自动筛选最佳对焦图片

本文详细介绍了如何使用Halcon实现基于图像清晰度的自动筛选最佳对焦图片技术。通过分析灰度值统计和标准差等核心指标,结合实战代码示例,帮助开发者高效处理工业检测中的对焦问题,提升自动化检测的准确性和效率。

weixin_27015733的博客 444

Day-17 滑雪场设计(枚举、贪心)

AcWing 1353.滑雪场设计 农夫约翰的农场上有 NN 个山丘,每座山的高度都是整数。 在冬天,约翰经常在这些山上举办滑雪训练营。 不幸的是,从明年开始,国家将实行一个关于滑雪场的新税法。 如果滑雪场的最高峰与最低峰的高度差大于17,国家就要收税。 为了避免纳税,约翰决定对这些山峰的高度进行修整。 已知,增加或减少一座山峰 xx 单位的高度,需要花费 x2x2 的金钱。 约翰只愿意改变整数单位的高度。 请问,约翰最少需要花费多少钱,才能够使得最高峰与最低峰的高度差不大于17。 输入格

灯火阑珊_ 330

Clang Static Analyzer 使用教程:本地 + CMake + GitHub Actions 自动静态分析实战

本文介绍了ClangStaticAnalyzer静态代码分析工具的使用方法。该工具基于Clang/LLVM,可检测C/C++代码中的内存泄漏、空指针等常见错误。主要内容包括:安装指南(Ubuntu/macOS/Windows)、命令行使用方法、CMake项目集成方案、GitHub Actions自动化分析配置,以及HTML报告生成与查看。文章还提供了官方资源链接,帮助开发者系统掌握从本地调试到持续集成的完整静态分析工作流,提升代码质量保障能力。适用于需要在开发过程中实施静态分析的C/C++项目。

u014358031的博客 2159

牛客题06-寻找峰值

牛客题06-寻找峰值 题目:山峰元素是指其值大于或等于左右相邻值的元素。 给定一个输入数组nums,任意两个相邻元素值不相等 数组可能包含多个山峰。找到索引最大的那个山峰元素并返回其索引。 假设 nums[-1] = nums[n] = -∞。 ①因为a[-1]和a[n] 都是负无穷,所以从头遍历数组,找到最后的峰值的索引,如果数组是递增或者递减的话分开讨论 public class Solution { /** * 寻找最后的山峰 * @param a int整型一维数组

m0_51096123的博客 487

CANoe: Panel的上位机控制方法

本文介绍了不同于IG的报文控制方法,实现了Panel面板的控制模式。

Jonsnow3zz的博客 1410

KBS投稿全流程拆解:从模板准备到条件接收的实战指南

本文详细拆解了KBS期刊投稿的全流程,从模板准备、投稿系统操作到返修策略和条件接收。重点介绍了Cover Letter撰写技巧、Latex模板选择、审稿周期管理以及返修文件的系统准备方法,帮助研究者高效完成KBS投稿并提升接收概率。

weixin_26938645的博客 707

山峰

金石山脉有n个山峰,一字排开,从西向东依次编号为1, 2, 3, ……, n。编号为i的山峰高度为hi。每个山峰的高度两两不同 小木示从西向东依次爬过这n个山峰,到每一个山峰的山顶的时候,他都会往西边眺望,并且会记录下自己能看到的山峰的个数。 (比如说小木示 现在在4号山峰,前四号山峰的高度分别为9,4,5,1。他现在能看到的山峰个数就是2,因为第二个山峰被第三个山峰挡住了) 严格的来说,小

jiang_1603的博客 753

JAVA实战:通过营地号解析王者荣耀用户数据(战绩、英雄、皮肤全掌握)

本文详细介绍了如何使用JAVA通过营地号解析王者荣耀用户数据,包括战绩、英雄和皮肤信息。通过HttpClient发送请求并解析JSON数据,开发者可以获取玩家对局详情、英雄使用情况和皮肤偏好等关键指标,为游戏数据分析提供实用解决方案。

sun99的博客 873

leetcode 每日一题 2021/10/14 剑指 Offer II 069. 山峰数组的顶部

leetcode 每日一题 2021/10/14 剑指 Offer II 069. 山峰数组的顶部 难度简单 题目 符合下列属性的数组 arr 称为 山峰数组(山脉数组) : arr.length >= 3 存在 i(0 < i < arr.length - 1)使得: arr[0] < arr[1] < … arr[i-1] < arr[i] arr[i] > arr[i+1] > … > arr[arr.length - 1] 给定由整数组成的山峰数

h88888888888的博客 166

一个代码循环计算水在石墨烯表面的接触角

石墨烯接触角

Rockyoung 2582

【大模型+知识图谱】哈工大版chinese-roberta-wwm-ext模型介绍、下载部署和GPU显卡配置

RoBERTa模型的一个重要改进版本,由阿里云的研究团队提出。而Chinese RoBERTa-wwm-ext则是针对中文文本的预训练模型,它在哈工大的研究团队手中进一步优化,特别适用于中文自然语言处理任务。

知识靠谱的博客 2775

LeetCode 剑指 Offer II 069. 山峰数组的顶部(三分) / 38. 外观数列 / 282. 给表达式添加运算符

剑指 Offer II 069. 山峰数组的顶部 2021.10.14 每日一题 题目描述 符合下列属性的数组 arr 称为 山峰数组(山脉数组) : arr.length >= 3 存在 i(0 < i < arr.length - 1)使得: arr[0] < arr[1] < … arr[i-1] < arr[i] arr[i] > arr[i+1] > … > arr[arr.length - 1] 给定由整数组成的山峰数组 arr ,返回任

windyjcy的博客 161

【YOLOs-CPP-图像分类部署】04-项目优化(加速部署)

本文详细介绍了将YOLO图像分类C++部署项目从CMake迁移到Visual Studio控制台应用的全过程。针对低配CPU性能瓶颈问题,作者通过替换多线程HPP代码为官方实现,并采用448x448固定输入尺寸优化推理速度。项目配置包含OpenCV和ONNX Runtime环境设置,实现了图像批量处理、分类结果显示及结果日志输出功能。关键步骤包括依赖库配置、DLL部署和代码调试,最终在Windows平台成功实现高效CPU推理。该方案显著提升了低配硬件的兼容性,为图像分类任务提供了稳定的部署解决方案。

深耕CV 355

LeetCode-每日一题 剑指 Offer II 069. 山峰数组的顶部 [Java实现] [极速]

符合下列属性的数组 arr 称为 山峰数组(山脉数组) : arr.length >= 3 存在 i(0 < i< arr.length - 1)使得: arr[0] < arr[1] < ... arr[i-1] < arr[i] arr[i] > arr[i+1] > ... > arr[arr.length - 1] 给定由整数组成的山峰数组 arr ,返回任何满足 arr[0] < arr[1] < ... arr[i.

qq_51026595的博客 258

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

剑指 Offer II

吾生也无涯

破草的博客 1331

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

力扣每日一题 剑指 Offer II 069. 山峰数组的顶部 单百

题目 符合下列属性的数组 arr 称为 山峰数组(山脉数组) : arr.length >= 3 存在 i(0 < i < arr.length - 1)使得: arr[0] < arr[1] < ... arr[i-1] < arr[i] arr[i] > arr[i+1] > ... > arr[arr.length - 1] 给定由整数组成的山峰数组 arr ,返回任何满足 arr[0] < arr[1] < ... arr[i -

student_java_c的博客 186

leetcode每日一题 剑指 Offer II 069. 山峰数组的顶部

符合下列属性的数组 arr 称为 山峰数组(山脉数组) : arr.length >= 3 存在 i(0 < i < arr.length - 1)使得: arr[0] < arr[1] < ... arr[i-1] < arr[i] arr[i] > arr[i+1] > ... > arr[arr.length - 1] 给定由整数组成的山峰数组 arr ,返回任何满足 arr[0] < arr[1] < ... arr[i - 1]

henulmh的博客 146

每日刷题记录 (九)

LeetCode: 剑指 Offer II 060. 出现频率最高的 k 个数字描述: 给定一个整数数组 nums 和一个整数 k ,请返回其中出现频率前 k 高的元素。可以按 任意顺序 返回答案。 第二题: 剑指 Offer II 061. 和最小的 k 个数对 LeetCode: 剑指 Offer II 061. 和最小的 k 个数对描述: 给定两个以升序排列的整数数组 和 , 以及一个整数 。 定义一对值 ,其中第一个元素来自 ,第二个元素来自 。 请找到和最小的 k 个数对 第三题:

wwzzzzzzzzzzzzz的博客 1205

leetcode-剑指offer(专项突破版)-go语言实现

leetcode-剑指offer(专项突破版)-go语言实现

H.C. Lee的博客 596

【第六天】剑指offer,每日一刷

自己的刷题记录

huangfengnt的博客 155

LeetCode每日一题:2月19日~2月23日

煎饼排序 每一次翻转将前n个数最大值放到序列最后,保证可以在2*n次数下翻转完成 class Solution { public: vector<int> pancakeSort(vector<int>& a) { vector<int> res; for (int n = a.size(); n >= 2; n -- ) { int k = max_element(a.begin(), a.b

释然的成长之路 7981

9-17每日一题:Leetcode36. 有效的数独

Leetcode36. 有效的数独 class Solution { public: bool isValidSudoku(vector<vector<char>>& board) { bool st[9]; // 判断行 for (int i = 0; i < 9; i ++ ) { memset(st, 0, sizeof st); for (int j = 0

释然的成长之路 4503

11-26 每日一题

Leetcode 700 二叉搜索树中的搜索 思路:BST性质,爆搜 时间复杂度:O(n)O(n)O(n),最坏情况 空间复杂度:O(n)O(n)O(n),最坏情况 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), righ

释然的成长之路 4417

11-21每日一题:LeetCode 559. N叉树的最大深度

LeetCode 559. N叉树的最大深度 思路:搜索 挨个搜索每个结点的孩子,返回孩子结点深度最大值+1+1+1 时间复杂度:O(n)O(n)O(n) 空间复杂度:O(n)O(n)O(n) /* // Definition for a Node. class Node { public: int val; vector<Node*> children; Node() {} Node(int _val) { val = _val; }

释然的成长之路 4309

11-18每日一题:563. 二叉树的坡度

563. 二叉树的坡度 思路:递归 遍历一遍结点,返回以当前结点为根结点的权值总和,每一次遍历过程中更新答案 时间复杂度:O(n)O(n)O(n) 空间复杂度:O(h)O(h)O(h)树的深度 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(

释然的成长之路 4004

LeetCode每日一题:744. 寻找比目标字母大的最小字母

744. 寻找比目标字母大的最小字母 线性或者二分查找,但是数据范围很小,差别不大 class Solution { public: char nextGreatestLetter(vector<char>& letters, char target) { if (target >= letters.back()) return letters[0]; else return *upper_bound(letters

释然的成长之路 1538

11-08:Leetcode 598. 范围求和 II

Leetcode 598. 范围求和 II 思路:思维 不断取交集,最后区域一定是一个矩形,保留长和宽就好 class Solution { public: int maxCount(int m, int n, vector<vector<int>>& ops) { for (auto& t : ops) { m = min(m, t[0]); n = min(n, t[1]);

释然的成长之路 1385
上一篇: 10-15每日一题:Leetcode38. 外观数列
下一篇: 10-16每日一题:Leetcode282. 给表达式添加运算符
Shirandexiaowo
博客等级 码龄7年 45粉丝 314原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shirandexiaowo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值