力扣 hot100 Day71

45. 跳躍游戲 II

給定一個長度為?n?的?0 索引整數數組?nums。初始位置為?nums[0]

每個元素?nums[i]?表示從索引?i?向后跳轉的最大長度。換句話說,如果你在索引?i?處,你可以跳轉到任意?(i + j)?處:

  • 0 <= j <= nums[i]?且
  • i + j < n

返回到達?n - 1?的最小跳躍次數。測試用例保證可以到達?n - 1

class Solution {
public:int jump(vector<int>& nums) {int n = nums.size();int jumps = 0;int current_end = 0;int farthest = 0;for (int i = 0; i < n - 1; ++i) {farthest = max(farthest, i + nums[i]);if (i == current_end) {jumps++;current_end = farthest;if (current_end >= n - 1) {break;}}}        return jumps;}
};

處理邏輯是,在上一題的基礎上,記錄當前的跳躍次數以及當前所能達到的最遠點,只有在達到最遠點后,才增加跳躍次數。

這里的次數,其實記錄的是到達current_end所需最小次數,所以終止條件是,current_end大于等于n-1。

很容易陷入的牛角尖是,每一步都走最遠未必次數最少。這是正確的,但這里的算法邏輯是,在當前跳躍范圍內,盡可能探索下一步所能到達的最遠范圍,只有在不得不跳時,才次數加一。

在?jumps++時,算法并不關心“具體跳到哪里”,而是通過維護?current_end和?farthest隱式決定了跳躍策略??

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

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

相關文章

什么是 Spring MVC?

題目詳細答案Spring MVC 是 Spring 框架中的一個模塊&#xff0c;用于構建基于 Web 的應用程序。它遵循 Model-View-Controller#&#xff08;MVC&#xff09;設計模式&#xff0c;將業務邏輯、用戶界面和數據分離&#xff0c;以促進代碼的可維護性和可擴展性。主要包含幾個概念…

第十篇:3D模型性能優化:從入門到實踐

第十篇&#xff1a;3D模型性能優化&#xff1a;從入門到實踐 引言 在3D開發中&#xff0c;性能優化是區分普通應用和卓越應用的關鍵。Three.js應用的流暢運行需要60FPS的渲染效率&#xff0c;而移動端設備更面臨嚴格的資源限制。本文將深入解析性能優化核心技術&#xff0c;并通…

基于 Easy Rules 的電商訂單智能決策系統:構建可擴展的業務規則引擎實踐

Easy Rules 是一個輕量級且易于使用的規則引擎&#xff0c;適用于Java應用。下面是一個簡單的示例&#xff0c;演示如何使用 Easy Rules 定義和執行規則。 添加依賴 首先&#xff0c;在你的Java項目中添加 Easy Rules 的 Maven 依賴&#xff08;如果你使用的是Maven構建工具&am…

如何使用gpt進行模型微調?

對 GPT 類大語言模型&#xff08;如 GPT-3、GPT-2、Hugging Face 的 GPT 系列、ChatGLM 等開源或閉源模型&#xff09;進行微調&#xff08;Fine-tuning&#xff09;&#xff0c;目的是讓模型在特定任務或領域&#xff08;如法律、醫療、客服、代碼生成等&#xff09;上表現更優…

數據可視化與人機交互技術

人機交互技術(HumanComputer Interaction&#xff0c;HCI)是21世紀信息領域需要發展的重大課題。例如&#xff0c;美國21世紀信息技術計劃中的基礎研究內容定為四項&#xff0c;即軟件、人機交互、網絡、高性能計算。其目標就是要開發21世紀個性化的信息環境。其中&#xff0…

MP2662GC-0000-Z降壓轉換器 MPS電源芯片 集成電路IC

MP2662GC-0000-Z 是MPS&#xff08;Monolithic Power Systems&#xff09;公司推出的一款高性能電源管理集成電路&#xff08;PMIC&#xff09;&#xff0c;屬于其電池管理或電源轉換產品線的一部分。以下是關于該器件的詳細解析&#xff1a;1. 核心功能高效電源轉換&#xff1…

Go 語言中的切片排序:從原理到實踐玩轉 sort 包

?? Go 語言中的切片排序:從原理到實踐玩轉 sort 包 在Go語言的日常開發中,切片(Slice)作為動態、靈活的數據結構,幾乎無處不在。而排序作為數據處理的基礎操作,更是高頻需求。 Go標準庫中的sort包憑借其優雅的設計和高效的實現,成為切片排序的“瑞士軍刀”。本文將帶…

PCB焊盤脫落的補救辦法與獵板制造優勢解析

PCB焊盤脫落是電子維修中常見的問題&#xff0c;輕則導致元件虛焊&#xff0c;重則引發電路板報廢。遇到這種情況不必慌張&#xff0c;掌握正確的補救方法能最大限度挽回損失。一、焊盤脫落的應急處理方案若脫落焊盤未完全脫離基板&#xff0c;可用鑷子夾住殘留部分緩慢抬起&am…

python3.10.6+flask+sqlite開發一個越南留學中國網站的流程與文件組織結構說明

采用python3.10.6flasksqlite技術棧&#xff0c;開發一個越南留學中國網站&#xff08;vietnam-study-in-china&#xff09;。開發流程與文件組織結構說明 一、項目概述與規劃 &#xff08;一&#xff09;項目背景與意義 留學趨勢分析 近年來&#xff0c;中越兩國教育交流日益…

uView Pro 正式開源!70+ Vue3 組件重構完成,uni-app 組件庫新晉之星

一、項目背景 uni-app 作為一款優秀的跨平臺框架&#xff0c;憑借其“一套代碼&#xff0c;多端運行”的理念&#xff0c;受到了廣大移動端開發者的青睞。 而在 uni-app 的生態中&#xff0c;uView UI 作為一款基于 Vue2 開發的開源組件庫&#xff0c;憑借其豐富的組件、完善…

Qwen3 技術報告 的 Strong-to-Weak Distillation 強到弱蒸餾 和 代碼實現

Qwen3 技術報告 的 Strong-to-Weak Distillation 強到弱蒸餾 和 代碼實現 flyfish 代碼在文末 技術報告就是不一定經過嚴格的學術期刊同行評審&#xff0c;但具有較強的專業性和實用性。 The post-training pipeline of Qwen3 is strategically designed with two core ob…

一體化步進伺服電機在無人機艙門應用中的應用案例

在無人機的設計過程中&#xff0c;艙門的快速、穩定開合對于無人機的任務執行效率和安全性至關重要。傳統的艙門驅動方式存在響應速度慢、控制精度不足等問題&#xff0c;難以滿足無人機復雜任務的需求。因此&#xff0c;某客戶無人機選擇了?一體化步進伺服電機?作為艙門的驅…

Ansible 面試題 20250811

1. 你使用過哪些 Ansible 模塊? Ansible 常用的模塊: file 、copy 、template 、yum 、apt 、service 、user 、group 、shell 、script 、command 、cron 等等。 這些模塊可以用來管理文件、軟件包、服務、用戶、組、計劃任務等等。 Docker相關模塊: docker_container:用…

安路Anlogic FPGA下載器的驅動安裝與測試教程

參考鏈接&#xff1a;安路下載器JTAG驅動安裝 - 米聯客(milianke) - 博客園 安路支持幾款下載器&#xff1a; AL-LINK在線下載器是基于上海安路信息科技股份科技有限公司全系列 CPLD/FPGA 器件&#xff0c;結合公司自研的 TD 軟件&#xff0c;可實現在線 JTAG 程序下載、Chip…

基于深度學習的股票分析和預測系統

摘要 【關鍵詞】 第一章 緒論 1.1 研究背景及意義 1.2 國內外文獻綜述 1.2.1 國外研究結果 1.2.2 國內研究結果 1.3 本課題主要工作 第二章 相關工作介紹 2.1文本量化方法 2.2 CNN、LSTM模型 2.3評測準確率及收益率 第三章 開發技術介紹 3.1 系統開發平臺 3.2平臺…

ML基礎設施(Machine Learning Infrastructure)

ML基礎設施&#xff08;Machine Learning Infrastructure&#xff09; 是指支持機器學習項目從開發到部署全生命周期所需的底層技術架構和工具集合。其核心目標是讓數據科學家和工程師能專注于模型創新&#xff0c;而非環境搭建等重復性工作。以下是深度解析&#xff1a;一、ML…

代碼隨想錄刷題Day29

逆波蘭表達式求值這是一道經典地使用棧來解決后綴表達式求解的題目。使用棧來求解后綴表達式的流程如下&#xff1a;借助棧的結構&#xff0c;可以求解出原始表達式是&#xff1a;9 &#xff08;-3 - 1&#xff09;* 3 10 / 2 2&#xff0c;在遵照規則過程中&#xff0c;還有…

crew AI筆記[3] - 設計理念

二八法則-task設計最重要80%精力設計tasks&#xff0c;20%精力定義agents花最多的實踐定義任務說明清晰定義輸入輸出增加示例和預期結果來約束輸出剩下的精力完善agent的role、goal、backstory1、Agent設計三要素role-goal-backstory框架Role - 職能定義足夠具體【作家 &#x…

【李宏毅-2024】第六講 大語言模型的訓練過程1——預訓練(Pre-training)

目錄概述1. 預訓練&#xff08;Pre-training&#xff09;2. 微調&#xff08;Fine-tuning&#xff0c;又稱 SFT&#xff0c;Supervised Fine-Tuning&#xff09;3. 對齊&#xff08;Alignment&#xff0c;又稱 RLHF 或 DPO 等&#xff09;4 三階段對比6 第一階段——自我學習&a…

基于LLVM的memcpy靜態分析工具:設計思路與原理解析(C/C++代碼實現)

在程序開發中&#xff0c;內存復制操作&#xff08;如memcpy&#xff09;往往是性能瓶頸的關鍵來源——尤其是大型內存塊的復制&#xff0c;可能導致緩存失效、帶寬占用過高等問題。為了精準定位這些潛在的性能熱點&#xff0c;開發者需要一種能自動識別程序中memcpy調用&#…