到達最后一個房間的最少時間II 類似棋盤轉移規律查找

文章目錄

3342.到達最后一個房間的最少時間II

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

  • 思路分析:最短路徑問題,當然,由于不同的格子之間的移動的代價不統一,所以這個最短路徑需要使用Dijkstra算法進行求解,對于直接使用Dijkstra算法模版的題目,大家可以先去做一下3341. 到達最后一個房間的最少時間 I
  • 這個題目難點在于如何計算從格子(x,y)出發的代價是1還是2

在這里插入圖片描述

  • 通過畫出具體的轉移代價的圖,我們發現是有規律的,當當前位于(x,y)的時候,轉移的代碼可以表示為(x+y)%2 + 1,既然得出了代價的計算,那么接下來直接套用Dijkstra算法的模版即可
import heapq
class Solution:def minTimeToReach(self, moveTime: List[List[int]]) -> int:n,m = len(moveTime),len(moveTime[0])dis = [[float("inf")]*m for _ in range(n)]dis[0][0] = 0 h = [(0,(0,0))]tmp = []cou = 1step = [(0,-1),(0,1),(-1,0),(1,0)]# 感覺得來一個中轉的while h:d,(x,y) = heapq.heappop(h)if d > dis[x][y]:continueif x == n-1 and y == m-1:return d # 訪問鄰居# 處理十分巧妙time = (x+y) % 2 + 1for dx,dy in step:nx,ny = x+dx,y+dy if 0<=nx<n and 0<=ny<m:newdis = d + time if d + time > moveTime[nx][ny] + time else moveTime[nx][ny] + timeif newdis < dis[nx][ny]:dis[nx][ny] = newdisheapq.heappush(h,(newdis,(nx,ny)))

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

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

相關文章

基于開源AI大模型AI智能名片S2B2C商城小程序源碼的私域流量穩定性構建研究

摘要&#xff1a;在私域流量時代&#xff0c;傳統實體零售的"時間積累"邏輯被直播電商等新業態顛覆。完美日記等新銳品牌通過構建私域流量池&#xff0c;實現了從0到1的指數級增長&#xff0c;而傳統品牌卻陷入"流量焦慮"。本文提出以開源AI大模型AI智能名…

做 iOS 調試時,我嘗試了 5 款抓包工具

日常做開發的人&#xff0c;特別是和客戶端接口打交道的同學&#xff0c;應該對“抓包”這件事不陌生。 調試登錄流程、分析接口格式、排查錯誤返回、分析網絡性能、甚至研究第三方 App 的數據通信……說到底&#xff0c;都繞不開“抓 HTTPS 包”這一步。 而這一步&#xff0…

Algolia - Docsearch的申請配置安裝【以踩坑解決版】

&#x1f468;?&#x1f393;博主簡介 &#x1f3c5;CSDN博客專家 ??&#x1f3c5;云計算領域優質創作者 ??&#x1f3c5;華為云開發者社區專家博主 ??&#x1f3c5;阿里云開發者社區專家博主 &#x1f48a;交流社區&#xff1a;運維交流社區 歡迎大家的加入&#xff01…

nginx 配置后端健康檢查模塊

nginx自帶的針對后端節點健康檢查的功能比較簡單,通過默認自帶的ngx_http_proxy_module 模塊和ngx_http_upstream_module模塊中的參數來完成,當后端節點出現故障時,自動切換到健康節點來提供訪問。但是nginx不能事先知道后端節點狀態是否健康,后端即使有不健康節點,負載均…

平板收銀系統、國產系統,鴻蒙系統,小鍵盤的封裝與應用—仙盟創夢IDE

數字小鍵盤封裝 數組小鍵盤封裝是指將與數組小鍵盤相關的功能、操作、數據等進行整合&#xff0c;形成一個獨立的、可復用的模塊。封裝數組小鍵盤具有以下幾方面重要意義&#xff1a; 提高代碼可維護性 降低復雜度&#xff1a;數組小鍵盤在實際應用中&#xff0c;可能涉及到…

網工實驗——OSPF配置

網絡拓撲圖 配置 1.為每個路由器配置接口&#xff08;略&#xff09;&#xff08;詳細見RIP實驗&#xff09; 2.配置OSPF AR1 [AR1]ospf [AR1-ospf-1]area 1 [AR1-ospf-1-area-0.0.0.1]network 172.16.1.1 0.0.0.0 #精確配置網絡&#xff0c;也可以像下面那條命令那樣配置 …

Kubernetes client-go 客戶端類型與初始化指南

Kubernetes client-go 客戶端類型與初始化指南 在 Kubernetes 的 client-go 庫中&#xff0c;存在多種客戶端用于與 API 服務器交互。以下介紹主要客戶端類型&#xff0c;包括用途、初始化方式及 Demo。 1. RESTClient 用途 RESTClient 是底層 REST 客戶端&#xff0c;直接…

java加強 -泛型

概念 定義類、接口、方法時&#xff0c;同時聲明了一個或多個類型變量&#xff08;如<E>&#xff09;&#xff0c;稱為泛型類、泛型接口、泛型方法、它們統稱為泛型。 語法 public class ArrayList<E>{} E可以接收不同類型的數據&#xff0c;可以是字符串&…

C++ 項目 -- 高并發內存池

目錄 項目介紹 內存池概念 池化技術 內存池 內存池主要解決的問題 malloc 定長內存池 申請內存 釋放內存 整體框架設計 thread cache 申請內存 釋放內存 central cache 申請內存 釋放內存 page cache 申請內存 釋放內存 大塊內存申請實現 定長內存…

高效C/C++之九:Coverity修復問題:關于數組操作 和 內存操作

【關注我&#xff0c;后續持續新增專題博文&#xff0c;謝謝&#xff01;&#xff01;&#xff01;】 上一篇我們講了&#xff1a; 這一篇我們開始講&#xff1a; 高效C/C之九&#xff1a;Coverity修復問題&#xff1a;關于數組操作 和 內存操作 目錄 【關注我&#xff0c;后…

vfrom表單設計器使用事件機制控制字段顯示隱藏

1. 使用表單設計器進行debug調試 依據 vform3.0開發者文檔 https://www.ganweicloud.com/docs/6.1.0/pages/d3e6d9/ 對switch組件設置事件邏輯 調試中

iPhone 和 Android 在日期格式方面的區別

整篇文章由iPhone 和 Android 在日期格式方面有所不同引起,大致介紹了,兩種時間標準,以及在 JavaScript 下的格式轉換方法。 Unix 時間戳是從1970年1月1日(UTC/GMT的午夜)開始所經過的秒數,不考慮閏秒。 iPhone 和 Android 在日期格式方面有所不同。其中,iPhone(iOS)使…

985高校查重率“隱性閾值”:低于5%可能被重點審查!

你是不是也以為&#xff1a; “查重率越低越好&#xff0c;最好壓到1%、0%&#xff0c;導師看了都感動哭&#x1f979;” 但是你不知道的是——在985/211等重點高校&#xff0c;查重率太低反而可能引起導師和學術辦公室的“特別關注”&#xff01; 今天就來扒一扒這個查重圈“…

【NLP】33. Pinecone + OpenAI :構建自定義語義搜索系統

Pinecone OpenAI 中文教學教程&#xff1a;構建自定義語義搜索系統 一、背景介紹 當下 AI 問答系統、矩陣檢索、短文本分類等場景中&#xff0c;都需要很好地實現 “根據輸入進行相似給點搜索”。這種算法基礎稱為 “向量搜索”&#xff0c;它的核心是將文本轉換為向量后&am…

【Mybatis-plus常用語法】

MyBatis-Plus 是 MyBatis 的增強工具&#xff0c;提供了很多便捷的功能來簡化開發。以下是一些 MyBatis-Plus 的常見語法&#xff1a; 實體類注解&#xff1a;使用 TableName 注解來指定實體類和數據庫表的映射關系。 TableName("user") public class User {privat…

Logback官方文檔翻譯章節目錄

Logback官方文檔翻譯章節目錄 第一章 Logback簡介 第二章 Logback的架構&#xff08;一&#xff09; Logback的架構&#xff08;二&#xff09; Logback的架構&#xff08;三&#xff09; 持續更新中…

Python變量作用域

變量作用域是Python編程中非常重要的基礎概念&#xff0c;理解它可以幫助你避免很多常見的錯誤。本文將用簡單易懂的方式&#xff0c;帶你全面掌握Python變量作用域的所有細節。 一、什么是變量作用域&#xff1f; 變量作用域&#xff08;Scope&#xff09;指的是變量在程序中…

初學者的AI智能體課程:構建AI智能體的十堂課

初學者的AI智能體課程:構建AI智能體的十堂課 在人工智能(AI)領域,AI智能體正在逐漸發揮其不容忽視的作用。自動化的智能體不僅僅在理論上廣泛討論,更加在實際應用中開辟了一片新的天地。那么如何動手開發屬于自己的AI智能體呢?Microsoft提供的AI智能體入門課正是為此而設…

【并發編程】MySQL鎖及單機鎖實現

目錄 一、MySQL鎖機制 1.1 按鎖粒度劃分 1.2 按鎖功能劃分 1.3 InnoDB鎖實現機制 (1)記錄鎖(Record Lock) (2) 間隙鎖(Gap Lock) (3) 臨鍵鎖(Next-Key Lock) (4) 插入意向鎖(Insert Intention Lock) 二、基于 JVM 本地鎖實現,保證線程安全 2.1 線程不安全的分析 2.1…

能耗優化新引擎:EIOT平臺助力企業降本增效

安科瑞顧強 數字化轉型的背景下&#xff0c;能源管理正加速向智能化、遠程化方向演進。安科瑞電氣推出的EIOT托管平臺及ADW300系列4G無線計量儀表&#xff0c;通過云端技術與無線通信的深度融合&#xff0c;為用戶打造了高效、便捷的遠程能源監測與管理體系&#xff0c;助力企…