LeetCode 2951.找出峰值:模擬(遍歷)

【LetMeFly】2951.找出峰值:模擬(遍歷)

力扣題目鏈接:https://leetcode.cn/problems/find-the-peaks/

給你一個下標從 0 開始的數組 mountain 。你的任務是找出數組?mountain 中的所有 峰值

以數組形式返回給定數組中 峰值 的下標,順序不限

注意:

  • 峰值 是指一個嚴格大于其相鄰元素的元素。
  • 數組的第一個和最后一個元素 是峰值。

?

示例 1:

輸入:mountain = [2,4,4]
輸出:[]
解釋:mountain[0] 和 mountain[2] 不可能是峰值,因為它們是數組的第一個和最后一個元素。
mountain[1] 也不可能是峰值,因為它不嚴格大于 mountain[2] 。
因此,答案為 [] 。

示例 2:

輸入:mountain = [1,4,3,8,5]
輸出:[1,3]
解釋:mountain[0] 和 mountain[4] 不可能是峰值,因為它們是數組的第一個和最后一個元素。
mountain[2] 也不可能是峰值,因為它不嚴格大于 mountain[3] 和 mountain[1] 。
但是 mountain[1] 和 mountain[3] 嚴格大于它們的相鄰元素。
因此,答案是 [1,3] 。

?

提示:

  • 3 <= mountain.length <= 100
  • 1 <= mountain[i] <= 100

解題方法:模擬(遍歷)

i i i 1 1 1 m o u n t a i n . l e n g t h ? 1 mountain.length - 1 mountain.length?1進行枚舉,如果 m o u n t a i n [ i ] > m o u n t a i n [ i ? 1 ] mountain[i] \gt mountain[i - 1] mountain[i]>mountain[i?1] m o u n t a i n [ i ] > m o u n t a i n [ i + 1 ] mountain[i]\gt mountain[i + 1] mountain[i]>mountain[i+1],就將 i i i添加到答案數組中。

小Tips: 將 i i i添加到答案數組中的同時,可以將 i + + i++ i++(因為下一個一定不是“峰值”元素)。

  • 時間復雜度 O ( m o u n t a i n . l e n g t h ) O(mountain.length) O(mountain.length)
  • 空間復雜度 O ( 1 ) O(1) O(1)

AC代碼

C++
class Solution {
public:vector<int> findPeaks(vector<int>& mountain) {vector<int> ans;for (int i = 1; i < mountain.size() - 1; i++) {if (mountain[i] > mountain[i - 1] && mountain[i] > mountain[i + 1]) {ans.push_back(i);i++;}}return ans;}
};
Go
// package mainfunc findPeaks(mountain []int) []int {ans := make([]int, 0)for i := 1; i < len(mountain) - 1; i++ {if mountain[i] > mountain[i - 1] && mountain[i] > mountain[i + 1] {ans = append(ans, i)i++}}return ans
}
Java
// import java.util.ArrayList;
// import java.util.List;class Solution {public List<Integer> findPeaks(int[] mountain) {List<Integer> ans = new ArrayList<>();for (int i = 1; i < mountain.length - 1; i++) {if (mountain[i] > mountain[i - 1] && mountain[i] > mountain[i + 1]) {ans.add(i);i++;}}return ans;}
}
Python
# from typing import Listclass Solution:def findPeaks(self, mountain: List[int]) -> List[int]:ans = []for i in range(1, len(mountain) - 1):if mountain[i] > mountain[i - 1] and mountain[i] > mountain[i + 1]:ans.append(i)return ans

同步發文于CSDN和我的個人博客,原創不易,轉載經作者同意后請附上原文鏈接哦~

Tisfy:https://letmefly.blog.csdn.net/article/details/139279605

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

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

相關文章

視創云展「VR直播」是什么?有哪些功能和應用場景?

視創云展「VR直播」通過“3D沉浸式展廳直播高互動感”的創新玩法&#xff0c;使企業隨時隨地舉辦一場低成本、高互動、能獲客的元宇宙直播活動成為可能。「VR直播」能實現3D展廳內VR場景漫游&#xff0c;更結合音視頻交互、同屏互動等新功能&#xff0c;為用戶帶來更沉浸的虛擬…

Java基礎之 API 字符串

文章目錄 API字符串String概述創建對象 java的內存模型java的常用方法(比較)練習 API 概念: APl(Application ProgrammingInterface): 應用程序編程接口 簡單理解: API就是別人已經寫好的東西&#xff0c;我們不需要自己編寫&#xff0c;直接使用即可。 Java API: 指的就是J…

馬斯克的 xAI 帝國!60億融資背后的超級布局?

在全球科技競技場&#xff0c;每個重大融資事件都是對行業格局的一次重塑。近日&#xff0c;埃隆馬斯克的人工智能初創企業 xAI 成功完成了一輪規模空前的融資——60億美元&#xff0c;此舉無疑在業界投下了一枚震撼彈&#xff0c;標志著 AI 領域內一場新的競賽拉開了序幕。 …

旅游卡在哪里拿貨?千益暢行旅游卡源頭

旅游卡是一種便捷的旅行工具&#xff0c;它可以提供多種優惠和特惠&#xff0c;讓人們在旅行中更加省錢、省心。那么&#xff0c;在千益暢行旅游卡這里&#xff0c;我們該如何拿到這張神奇的旅游卡呢&#xff1f; 首先&#xff0c;千益暢行旅游卡作為一款專為旅行愛好者打造的…

QT學習(20):QStyle類

Qt包含一組QStyle子類&#xff0c;這些子類&#xff08;QWindowsStyle&#xff0c;QMacStyle等&#xff09;模擬Qt支持的不同平臺的樣式&#xff0c;默認情況下&#xff0c;這些樣式內置在Qt GUI模塊中&#xff0c;樣式也可以作為插件提供。 Qt的內置widgets使用QStyle來執行幾…

LangChain之鏈的應用(下)

LangChain之鏈的應用 Chain鏈的應用配置LLMChain&#xff1a;簡單鏈create_stuff_documents_chain&#xff1a;文檔鏈create_extraction_chain&#xff1a;提取信息鏈LLMMathChain&#xff1a;數學鏈create_sql_query_chain&#xff1a;SQL查詢鏈連接數據庫創建并使用鏈 Sequen…

K210 數字識別 教程

一、燒寫固件 連接k210開發板&#xff0c;點開燒錄固件工具&#xff0c;選中固件&#xff0c;并下載 二、模型訓練 網站&#xff1a;MaixHub 1、上傳文件 2、開始標記數據 添加9個標簽&#xff0c;命名為1~9&#xff0c;按鍵盤w開始標記&#xff0c;鍵盤D可以下一張圖片&…

計算機網絡(1

網絡初識 目錄 網絡初識一. 網絡分類1. 局域網LAN(Local Area Network):2. 廣域網WAN(Wide Area Network): 二. 組建網絡的基礎設備1. 路由器2. 交換機 三. 標識符 協議 (protocol)一. 協議分層1. 分層的好處2. OSI七層分層3. TCP/IP五層模型(或四層) 模型(1. 物理層(可不算)(2…

6.8 LIBBPF API(七,bpf_core_read.h 函數,定義,枚舉)

一,函數 void * bpf_rdonly_cast (const void *obj, __u32 btf_id) __ksym __weak 二,定義 __CORE_RELO(src, field, info) __builtin_preserve_field_info((src)->field,BPF_FIELD_##info) __CORE_BITFIELD_PROBE_READ(dst, src, fld) bpf_probe_read_kernel( \ (v…

學習前端第四十二天(修改文檔)

1、創建一個元素 docunment.createElement( tag )&#xff1b;創建一個元素節點 let div document.createElement&#xff08;“div”&#xff09;&#xff1b;創建一個div標簽 document.createTextNode&#xff08; Text &#xff09;&#xff1b;創建一個文本節點 let t…

Windows hook介紹與代碼演示

Windows Hook 是一種機制&#xff0c;允許應用程序監視系統或處理特定事件。它可以攔截和更改消息&#xff0c;甚至可以插入到其他應用程序的消息處理機制中。Windows 提供了多種掛鉤類型&#xff0c;例如鍵盤掛鉤、鼠標掛鉤、消息掛鉤等。 hook代碼實現 下面是一個使用 Wind…

【Zotero】【MacOS】Zotero6常用插件總結

因為目前MacOS只支持Zotero6&#xff0c;所以我將網上找到的教程以及自己找到適應Zotero6版本的插件做了個整合 教程地址&#xff1a;Zotero6安裝/插件安裝教程 插件地址&#xff1a;Zotero6_Plugs

Django教程——數據庫操作(增刪改查)

在上篇文章中我們學習了Django教程——模型&#xff0c;這篇文章學習Django教程——數據庫操作&#xff08;增刪改查&#xff09;。 在學習數據庫操作之前&#xff0c;我們需要定義好模型類&#xff0c;模型類代碼如下&#xff1a; from django.db import models class UserM…

OS復習筆記ch7-1

存儲的基本管理需求 重定位 重定位(Relocation)&#xff1a;需要解決可執行文件中地址&#xff08;指令和數據&#xff09;和內存地址的對應。 一般有兩種比較常見的重定位方式&#xff1a; 靜態重定位(static relocation)&#xff1a;當程序被裝入內存時&#xff0c;一次性…

Python pdf2imges -- pdf文件轉圖片

pdf文件轉圖片&#xff0c;需要安裝PyMuPDF包&#xff0c;具體PyMuPDF包介紹可以參考&#xff1a;Python 處理 PDF 的神器 -- PyMuPDF import fitz # pip install PyMuPDF# PDF轉換為IMG統一管理 def pdf_to_images(pdf_path, img_path, filename):"""pdf_p…

Mac系統國內通過nvm快速安裝node

國內通過nvm安裝node 國內nvm安裝工具 地址&#xff1a;https://gitee.com/RubyMetric/nvm-cn 安裝命令 bash -c "$(curl -fsSL https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh)"如果按照過程中有報錯可以嘗試下載安裝腳本 在瀏覽器中打開下面的鏈接htt…

【頭歌】計算機網絡DHCP服務器配置第四關配置路由器子接口答案

頭歌計算機網絡DHCP服務器配置第四關配置路由器子接口操作步驟 任務描述 本關任務&#xff1a;配置路由器的子接口。 操作要求 在第一關的拓撲圖的基礎上&#xff0c;配置路由器及 PC 機&#xff0c;具體要求如下&#xff1a; 1、打開路由器物理接口 F0/0 &#xff1b; 2、配置…

【科普】關于Cookie的一點知識

【科普】關于Cookie的一點知識 1. Cookie的傳輸方式2. 不設置Domain時的默認邏輯3. SameSite設置為None的風險4. 通過IP訪問時如何設置Cookie 1. Cookie的傳輸方式 Cookie是通過HTTP&#xff08;超文本傳輸協議&#xff09;和HTTPS&#xff08;安全超文本傳輸協議&#xff09;…

NSSCTF中的pop、babyupload、cve版本簽到、奇妙的MD5、easy_html

目錄 [SWPUCTF 2021 新生賽]pop [NISACTF 2022]babyupload ?編輯[GKCTF 2020]cve版簽到 [SWP5UCTF 2022 新生賽]奇妙的MD5 [HNCTF 2022 Week1]easy_html 今日總結&#xff1a; [SWPUCTF 2021 新生賽]pop 1.代碼審計 <?phperror_reporting(0); show_source("…

裝機必備——360壓縮安裝教程

裝機必備——360壓縮安裝教程 軟件下載 軟件名稱&#xff1a;360壓縮 軟件語言&#xff1a;簡體中文 軟件大小&#xff1a;3.38M 系統要求&#xff1a;Windows7或更高&#xff0c; 32/64位操作系統 硬件要求&#xff1a;CPU2GHz &#xff0c;RAM4G或更高 下載通道①迅雷云盤丨…