【華為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;}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/164810.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/164810.shtml
英文地址,請注明出處:http://en.pswp.cn/news/164810.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++二分查找算法:有序矩陣中的第 k 個最小數組和

本文涉及的基礎知識點 二分查找算法合集 本題的簡化 C二分查找算法&#xff1a;查找和最小的 K 對數字 十分接近m恒等于2 題目 給你一個 m * n 的矩陣 mat&#xff0c;以及一個整數 k &#xff0c;矩陣中的每一行都以非遞減的順序排列。 你可以從每一行中選出 1 個元素形成…

哈希unordered_set,unordered_map的練習

349. 兩個數組的交集 給定兩個數組 nums1 和 nums2 &#xff0c;返回 它們的交集 。輸出結果中的每個元素一定是 唯一 的。我們可以 不考慮輸出結果的順序 。 示例 1&#xff1a; 輸入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 輸出&#xff1a;[2]示例 2&#xff1a; 輸…

JSP過濾器和監聽器

什么是過濾器 Servlet過濾器與Servlet十分相似&#xff0c;但它具有攔截客戶端&#xff08;瀏覽器&#xff09;請求的功能&#xff0c;Servlet過濾器可以改變請求中的內容&#xff0c;來滿足實際開發中的需要。 對于程序開發人員而言&#xff0c;過濾器實質就是在Web應用服務器…

使用Wireshark提取流量中圖片方法

0.前言 記得一次CTF當中有一題是給了一個pcapng格式的流量包&#xff0c;flag好像在某個響應中的圖片里。比較簡單&#xff0c;后來也遇到過類似的情況&#xff0c;所以總結和記錄一下使用Wireshark提取圖片的方法。 提取的前提是HTTP協議&#xff0c;至于HTTPS的協議需要導入服…

【算法】摩爾投票算法

目錄 1.概述2.算法思想3.代碼實現3.1.t ?n / 2?3.2.t ?n / 3?3.3.t ?n / (m 1)? 4.應用 參考&#xff1a;LeetCode_多數元素 II 題解 1.概述 &#xff08;1&#xff09;摩爾投票法 (Boyer–Moore Majority Vote Algorithm) 是一種用來尋找一組元素中多數元素的常量級…

flutter,uni-app開發調試ios

一、申請ios開發者賬號 二、ios開發者配置 ios 開發者需要配置的地方 https://developer.apple.com/account/resources/certificates/list Certificates&#xff08;證書&#xff09;: 作用&#xff1a; 證書用于對應用程序和開發者進行身份驗證&#xff0c;確保安全性和可…

如何為您的企業選擇合適的多因素認證?

在傳統的網絡安全架構中&#xff0c;重點在于防止非法入侵&#xff0c;例如防火墻、VPN 、堡壘機等安全設備的重心都在于防止用戶違規訪問企業資源&#xff0c;一旦合法用戶的賬號密碼被入侵者拿到&#xff0c;就可以冒充合法用戶訪問企業資源&#xff0c;所有的安全設備形同虛…

springcloud超市管理系統源碼

技術說明&#xff1a; jdk1.8&#xff0c;mysql5.7&#xff0c;idea&#xff0c;vscode springcloud springboot mybatis vue elementui mysql 功能介紹&#xff1a; 后臺管理&#xff1a; 統計分析&#xff1a;查看用戶&#xff0c;商品&#xff0c;銷售數量&#xff1b;…

Mock 數據

1. Mock 數據的方式 2. json-server 實現 Mock 數據 項目中安裝json-server npm i -D json-server準備一個json文件添加啟動命令 //package.json"scripts": {"start": "craco start","build": "craco build","test&q…

簡單聊聊加密和加簽的關系與區別

大家好&#xff0c;我是G探險者。 平時我們在項目上一定都聽過加密和加簽&#xff0c;加密可能都好理解&#xff0c;知道它是保障的數據的機密性&#xff0c;那加簽是為了保障啥勒&#xff1f;它和加密有啥區別&#xff1f; 帶著這個疑問&#xff0c;我們就來聊聊二者的區別。…

SHEIN出口車鑰匙扣REACH認證指南解析

鑰匙扣的材料一般為金屬、皮革、塑料、橡膠、木頭等。此物精致小巧、造型千變萬化是人們隨身攜帶的日常用品。鑰匙扣是掛在鑰匙圈上的一種裝飾物品。鑰匙扣出口需要辦理REACH認證。 一、什么是REACH認證&#xff1f; REACH認證是歐盟28個成員國對進入其市場的所有化學品,&…

centos7中通過minikube安裝Kubernetes

minikube是一款開源的Kubernetes集群管理器&#xff0c;它可以幫助您在本地計算機上輕松部署和管理Kubernetes集群。以下是minikube的安裝和使用步驟&#xff1a; 安裝Docker&#xff1a;如果您還沒有安裝Docker&#xff0c;可以從Docker官方網站上下載并安裝適合您操作系統的…

Android和iOS應用程序加固方法詳解:混淆、加殼、數據加密、動態加載和數字簽名實現

目錄 Android和iOS應用程序加固方法詳解&#xff1a;混淆、加殼、數據加密、動態加載和數字簽名實現 APP 加固方式 iOS APP加固代碼實現 打開要處理的IPA文件 設置簽名使用的證書和描述文件 開始ios ipa重簽名 APP 加固方式 iOSAPP 加固是優化 iOS安全性的一種方法&…

C#枚舉的使用

在C#中經常會用到枚舉&#xff0c;是比較常用的定義一組常量集合的數據類型。我們使用枚舉可以更方便理解和閱讀代碼&#xff0c;增強代碼可讀性&#xff0c;也在某種程度上提升了編程邏輯和維度。 基本語法&#xff1a; enum MyEnum {Value1,Value2,Value3&#xff0c;//...…

CSS 實現文本框簽名

<div class"textarea-prepend"><textarea rows"6" placeholder"請輸入消息內容"></textarea></div>.textarea-prepend {position: relative;}.textarea-prepend textarea {width: 300px;}.textarea-prepend::before {ba…

UE4基礎篇十三:物理

一、筆記記錄 1.1 碰撞交互 阻擋會設置為阻擋的兩個(或更多)Actor之間自然發生。但是,需要啟用模擬生成命中事件(Simulation Generates Hit Events)才能執行事件命中 ,要兩個都相互設置阻擋模式才會生成命中事件 將Actor設置為重疊往往看起來它們彼此忽略,如果沒有生…

【陳老板贈書活動 - 18期】-如何成為架構師這幾本書推薦給你

陳老老老板&#x1f9b8; &#x1f468;?&#x1f4bb;本文專欄&#xff1a;贈書活動專欄&#xff08;為大家爭取的福利&#xff0c;免費送書&#xff09; &#x1f468;?&#x1f4bb;本文簡述&#xff1a;生活就像海洋,只有意志堅強的人,才能到達彼岸。 &#x1f468;?&am…

JavaScript基礎—引入方式、注釋和結束符、輸入和輸出、變量、常量、數據類型、檢測數據類型、類型轉換、綜合案例—用戶訂單信息

版本說明 當前版本號[20231123]。 版本修改說明20231123初版 目錄 文章目錄 版本說明目錄JavaScript 基礎 - 第1天介紹引入方式內部方式外部形式 注釋和結束符單行注釋多行注釋 結束符輸入和輸出輸出輸入 變量聲明賦值變量初始化更新變量 關鍵字變量名命名規則 常量數據類型…

什么是指針碰撞

程序員的公眾號&#xff1a;源1024&#xff0c;獲取更多資料&#xff0c;無加密無套路&#xff01; 最近整理了一波電子書籍資料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虛擬機》&#xff0c;《重構改善既有代碼設計》&#xff0c;《MySQL高性能-第3版》&…

WorkPlus實現完全私有化部署,企業數據安全有保障

在這個信息化飛速發展的時代&#xff0c;企業正面臨著越來越多的數據安全挑戰。為了確保數據的安全性和隱私性&#xff0c;WorkPlus迎合市場需求&#xff0c;推出了完全私有化部署方案&#xff0c;為企業提供了全面、可靠的安全保障&#xff0c;成為企業移動辦公的首選。 WorkP…