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

【华为OD】C卷真题 100%通过:攀登者1 C/C++源码实现

【华为OD】C卷真题 100%通过:攀登者1  C/C++源码实现

目录

题目描述:

示例1

代码实现:


题目描述:

攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。
地图表示为一维数组,数组的索引代表水平位置,数组的高度代表相对海拔高度。其中数组元素0代表地面。
例如[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0], 代表如下图所示的地图,地图中有两个山脉位置分别为 1,2,3,4,5和8,9,10,11,12,13,最高峰高度分别为 4,3。最高峰位置分别为3,10。
一个山脉可能有多座山峰(高度大于相邻位置的高度,或在地图边界且高度大于相邻的高度)。
                4+---+ |   | |   | 3                       3 |   | |   +---+                   ----- |       |                   |   | 2 |       |                 2 |   |     2 |       |                   |   | +---+       |               ----+   |   +---+ |           |               |       |   |   | 1 |           | 1           1 |       | 1 |   | 1 |           |               |       |   |   | +---+           +---+       +---+       +---+   +---+ |                   |       |                       | 0 |                   | 0   0 |                       | 0 |                   |       |                       | +---+                   +-------+                       +---+ 0   1   2   3   4   5   6   7   8   9  10  11  12  13  14
登山时会消耗登山者的体力(整数),上山时,消耗相邻高度差两倍的体力,下坡时消耗相邻高度差一倍的体力,平地不消耗体力,登山者体力消耗到零时会有生命危险。
例如,上图所示的山峰,从索引0,走到索引1,高度差为1,需要消耗2X1=2的体力,从索引2高度2走到高度4索引3需要消耗2X2=4的体力。如果是从索引3走到索引4则消耗1X1=1的体力。
登山者想要知道一张地图中有多少座山峰

示例1

输入输出示例仅供调试,后台判题数据一般不包含示例

输入

[0,1,4,3,1,0,0,1,2,3,1,2,1,0]

输出

3

说明

山峰所在的索引分别为 2,10,12

代码实现:

class Solution {
public:/*** 返回地图中山峰的数量* @param hill_map int整形vector 地图数据(长度大于1)* @return int整形*/int count_peaks(vector<int>& hill_map) {int count = 0;hill_map.push_back(0);hill_map.insert(hill_map.begin(), 0);int n = hill_map.size();for (int i = 1; i < n; ++i) {if (i + 1 < n) {if (hill_map[i] > hill_map[i + 1] && hill_map[i] > hill_map[i - 1]) {count++;}}}return count;}
};

相关文章:

【华为OD】C卷真题 100%通过:攀登者1 C/C++源码实现

【华为OD】C卷真题 100%通过&#xff1a;攀登者1 C/C源码实现 目录 题目描述&#xff1a; 示例1 代码实现&#xff1a; 题目描述&#xff1a; 攀登者喜欢寻找各种地图&#xff0c;并且尝试攀登到最高的山峰。 地图表示为一维数组&#xff0c;数组的索引代表水平位置&…...

Flask,uWSGI,nginx的理解

文章目录 前言与背景理解 - FlaskuWSGInginx理解 - nginx理解 - FlaskuWSGI理解 - vuedjangonginx 前言与背景 此篇文章是针对小白的一篇理解Flask&#xff0c;uWSGI&#xff0c;nginx的文章&#xff0c;只介绍了理解&#xff0c;并没有介绍如何部署。 由于工作需要使用flask…...

【JAVA杂货铺】一文带你走进面向对象编程|继承|重载|重写|期末复习系列 | (中4)

&#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏:Java学习系列专栏&#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 继承 私有成员变量在继承中的使用​编辑 当子类和父类变量不重名时: 当子类和父类重名时: &#x1f4dd;总结: 继承的含义: …...

单细胞seurat入门—— 从原始数据到表达矩阵

根据所使用的建库方法&#xff0c;单细胞的RNA序列&#xff08;也称为读取&#xff08;reads&#xff09;或标签&#xff08;tags&#xff09;&#xff09;将从转录本的3端&#xff08;或5端&#xff09;&#xff08;10X Genomics&#xff0c;CEL-seq2&#xff0c;Drop-seq&…...

Docker部署Nacos

此篇文章使用的nacos为2.2.1版本 拉取Nacos镜像 docker pull nacos/nacos-server:v2.2.1先将容器启动起来 docker run -d \ --name nacos \ -p 8848:8848 \ -p 9848:9848 \ -p 9849:9849 \ --privilegedtrue \ -e JVM_XMS256m \ -e JVM_XMX256m \ -e MODEstandalone \ -e NA…...

1005. K 次取反后最大化的数组和

原题链接&#xff1a;1005. K 次取反后最大化的数组和 思路&#xff1a; 先把数组排序好&#xff0c;然后直接从下标0(最小的负数)开始反转&#xff0c;那么接下来有两种情况&#xff1a; 1.负数反转完了&#xff0c;k还有剩余。此时因为nums内全部都是正数&#xff0c;所以我…...

【云原生】什么是 Kubernetes ?

什么是 Kubernetes &#xff1f; Kubernetes 是一个开源容器编排平台&#xff0c;管理着一系列的 主机 或者 服务器&#xff0c;它们被称作是 节点&#xff08;Node&#xff09;。 每一个节点运行了若干个相互独立的 Pod。 Pod 是 Kubernetes 中可以部署的 最小执行单元&#x…...

自建CA实战之 《0x01 Nginx 配置 https单向认证》

自建私有化证书颁发机构&#xff08;Certificate Authority&#xff0c;CA&#xff09;实战之 《0x01 Nginx 配置 https单向认证》 上一篇文章我们介绍了如何自建私有化证书颁发机构&#xff08;Certificate Authority&#xff0c;CA&#xff09;&#xff0c;本篇文章我们将介…...

《QT从基础到进阶·三十八》QWidget实现炫酷log日志打印界面

QWidget实现了log日志的打印功能&#xff0c;不仅可以在界面显示&#xff0c;还可以生成打印日志。先来看下效果&#xff0c;源码放在文章末尾&#xff1a; LogPlugin插件类管理log所有功能&#xff0c;它可以获取Log界面并能打印正常信息&#xff0c;警告信息和错误信息&…...

JVM的小知识总结

加载时jvm做了这三件事&#xff1a; 1&#xff09;通过一个类的全限定名来获取该类的二进制字节流 什么是全限定类名&#xff1f; 就是类名全称&#xff0c;带包路径的用点隔开&#xff0c;例如: java.lang.String。 即全限定名 包名类型 非限定类名也叫短名&#xff0c;就…...

深入理解JVM虚拟机第二十六篇:详解JVM当中的虚方法和非虚方法,并从字节码指令的角度去分析虚方法和非虚方法

😉😉 学习交流群: ✅✅1:这是孙哥suns和树哥给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824 📚​​​​​​​📚 微信:DashuDeveloper拉你进微信群,免费领取! 一:非虚方法和虚方法 方法…...

ElasticSearch的日志配置

ElasticSearch默认情况下使用Log4j2来记录日志&#xff0c;日志配置文件的路径为$ES_HOME/config/log4j2.properties&#xff0c;配置方法见Log4j2的官方文档。 参考path-settings&#xff0c;通过指定path.logs&#xff0c;可以指定日志文件的保存路径。 在日志配置文件$ES_…...

SQL Injection (Blind)`

SQL Injection (Blind) SQL Injection (Blind) SQL盲注&#xff0c;是一种特殊类型的SQL注入攻击&#xff0c;它的特点是无法直接从页面上看到注入语句的执行结果。在这种情况下&#xff0c;需要利用一些方法进行判断或者尝试&#xff0c;这个过程称之为盲注。 盲注的主要形式有…...

NX二次开发UF_CURVE_ask_trim 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_ask_trim Defined in: uf_curve.h int UF_CURVE_ask_trim(tag_t trim_feature, UF_CURVE_trim_p_t trim_info ) overview 概述 Retrieve the current parameters of an a…...

linux的netstat命令和ss命令

1. 网络状态 State状态LISTENING监听中&#xff0c;服务端需要打开一个socket进行监听&#xff0c;侦听来自远方TCP端口的连接请求ESTABLISHED已连接&#xff0c;代表一个打开的连接&#xff0c;双方可以进行或已经在数据交互了SYN_SENT客户端通过应用程序调用connect发送一个…...

python:傅里叶分析,傅里叶变换 FFT

使用python进行傅里叶分析&#xff0c;傅里叶变换 FFT 的一些关键概念的引入&#xff1a; 1.1.离散傅里叶变换&#xff08;DFT&#xff09; 离散傅里叶变换(discrete Fourier transform) 傅里叶分析方法是信号分析的最基本方法&#xff0c;傅里叶变换是傅里叶分析的核心&…...

云原生系列Go语言篇-编写测试Part 2

基准测试 确定代码是快或慢非常复杂。我们不用自己计算&#xff0c;应使用Go测试框架内置的基准测试。下面来看​​第15章的GitHub代码库​​sample_code/bench目录下的函数&#xff1a; func FileLen(f string, bufsize int) (int, error) {file, err : os.Open(f)if err ! …...

CMake Error:No targets specified and no makefile found

在适用cmake构建项目的时候&#xff0c;突然遇到了这个报错 Make Error at CMakeLists.txt:1 (project): VERSION not allowed unless CMP0048 is set to NEW – Configuring incomplete, errors occurred! make: *** No targets specified and no makefile found. Stop. CMake…...

常见树种(贵州省):019滇白珠、杜茎山、苍山越桔、黄背越桔、贵州毛柃、半齿柃、钝叶柃、细枝柃、细齿叶柃木、土蜜树、山矾、胡颓子、檵木

摘要&#xff1a;本专栏树种介绍图片来源于PPBC中国植物图像库&#xff08;下附网址&#xff09;&#xff0c;本文整理仅做交流学习使用&#xff0c;同时便于查找&#xff0c;如有侵权请联系删除。 图片网址&#xff1a;PPBC中国植物图像库——最大的植物分类图片库 一、滇白珠…...

java - 定时器

一、什么是定时器 定时器是指可以通过 Java 中的 Timer 类和 TimerTask 类所提供的功能来实现定期执行某些任务的工具。 标准库中提供了一个 Timer 类 . Timer 类的核心方法为 schedule . schedule 包含两个参数 . 第一个参数指定即将要执行的任务代码 , 第二个参数指定多…...

RGThree-Comfy:彻底革新ComfyUI工作流管理的终极解决方案

RGThree-Comfy&#xff1a;彻底革新ComfyUI工作流管理的终极解决方案 【免费下载链接】rgthree-comfy Making ComfyUI more comfortable! 项目地址: https://gitcode.com/gh_mirrors/rg/rgthree-comfy 你是否曾经在ComfyUI中感到工作流管理变得混乱不堪&#xff1f;当节…...

从Level 6的解题过程,聊聊Linux通配符‘?’那些容易被忽略的细节和安全隐患

从CTF解题看Linux通配符的隐藏陷阱与安全实践 在Linux系统中&#xff0c;通配符是每个管理员和开发者日常操作中不可或缺的工具。?和*这两个看似简单的符号&#xff0c;背后却隐藏着许多不为人知的细节和潜在风险。最近在分析一个CTF题目&#xff08;Level 6&#xff09;时&a…...

QT图形界面开发:为PyTorch 2.8模型打造本地化推理演示工具

QT图形界面开发&#xff1a;为PyTorch 2.8模型打造本地化推理演示工具 1. 为什么需要本地化推理演示工具 在AI模型开发过程中&#xff0c;算法工程师经常面临一个痛点&#xff1a;如何向非技术人员直观展示模型效果。命令行界面对于技术人员来说很友好&#xff0c;但对产品经…...

WPF SaveFileDialog高级功能实战:从基础配置到自定义扩展

1. SaveFileDialog基础配置与核心功能 刚接触WPF开发时&#xff0c;我发现SaveFileDialog这个控件就像个智能文件保存助手。它不仅能帮用户选择保存位置&#xff0c;还能处理各种文件操作细节。先来看看最基础的用法&#xff0c;这里我结合自己踩过的坑给大家分享几个实用技巧。…...

Notepad--:Mac用户的跨平台文本编辑器终极指南

Notepad--&#xff1a;Mac用户的跨平台文本编辑器终极指南 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器&#xff0c;目标是做中国人自己的编辑器&#xff0c;来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- 还在为macOS…...

LAYONTHEGROUND景

一、什么是requests&#xff1f; requests 是一个用于发送HTTP请求的 Python 库。 它可以帮助你&#xff1a; 轻松发送GET、POST、PUT、DELETE等请求 处理Cookie、会话等复杂性 自动解压缩内容 处理国际化域名和URL 二、应用场景 requests 广泛应用于以下实际场景&#xff1a; …...

Stable Yogi Leather-Dress-Collection惊艳效果展示:2.5D皮衣光影质感高清作品集

Stable Yogi Leather-Dress-Collection惊艳效果展示&#xff1a;2.5D皮衣光影质感高清作品集 想象一下&#xff0c;你只需要在电脑上点几下&#xff0c;就能让动漫角色穿上各种风格、质感逼真的皮衣&#xff0c;从紧身皮裙到机车夹克&#xff0c;每一件都闪烁着独特的光影。这…...

c++怎么利用C++17的filesystem--copy实现高效文件夹克隆【详解】

filesystem::copy 默认不递归复制子目录&#xff0c;需显式指定 fs::copy_options::recursive&#xff1b;若目标已存在&#xff0c;还需组合 overwrite_existing 才能覆盖。filesystem::copy 会递归复制子目录吗&#xff1f;默认不会。filesystem::copy 对目录只做“浅拷贝”—…...

Muse Spark 闭源转型背后的系统化演进:PAO 架构、KV Cache 压缩与聚合接入实践

摘要&#xff1a; Meta 推动 Muse Spark 走向闭源并非一时兴起&#xff0c;其底层所采用的并联智能体协调架构&#xff08;PAO&#xff09;标志着大模型由单体推理向系统级协同的跃迁。本文将围绕 Transformer 变体设计、节点调度策略、KV Cache 压缩算法及生产环境调用方案四个…...

Jimeng AI Studio实操案例:LoRA风格库管理与热加载最佳实践

Jimeng AI Studio实操案例&#xff1a;LoRA风格库管理与热加载最佳实践 1. 引言&#xff1a;为什么需要LoRA动态管理&#xff1f; 想象一下这样的场景&#xff1a;你正在使用AI生成图片&#xff0c;突然想要尝试不同的艺术风格。传统方式需要重启整个应用&#xff0c;重新加载…...