Day57力扣打卡

打卡記錄

在這里插入圖片描述


最小體力消耗路徑

鏈接

Dijkstra

將Dijkstra算法從計算最短路徑轉化為計算路徑最大差值。

class Solution:def minimumEffortPath(self, heights: List[List[int]]) -> int:n, m = len(heights), len(heights[0])dist = [0] + [0x3f3f3f3f] * (n * m - 1)vis = set()q = [(0, 0, 0)]while q:d, x, y = heappop(q)idx = x * m + yif idx in vis:continuevis.add(idx)for nx, ny in [(x - 1, y), (x + 1, y), (x, y - 1), (x, y + 1)]:if 0 <= nx < n and 0 <= ny < m:max_diff = max(d, abs(heights[x][y] - heights[nx][ny]))if max_diff < dist[nx * m + ny]:dist[nx * m + ny] = max_diffheappush(q, (max_diff, nx, ny))return dist[-1]

二分 + BFS

class Solution:def minimumEffortPath(self, heights: List[List[int]]) -> int:n, m = len(heights), len(heights[0])def check(t):vis = set()q = collections.deque()q.append((0, 0))vis.add(0)while q:x, y = q.popleft()for nx, ny in [(x - 1, y), (x + 1, y), (x, y - 1), (x, y + 1)]:if 0 <= nx < n and 0 <= ny < m and nx * m + ny not in vis:max_diff = abs(heights[x][y] - heights[nx][ny])if max_diff <= t:q.append((nx, ny))vis.add(nx * m + ny)return m * n - 1 in visl, r = 0, 10 ** 6 + 1while l < r:mid = (l + r) // 2if check(mid):r = midelse:l = mid + 1return l

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

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

相關文章

iPhone 數據恢復:iMyFone D-Back iOS

iMyFone D-Back iOS 最佳 iPhone 數據恢復&#xff0c;最好的 iPhone 數據恢復軟件&#xff0c;恢復成功率最高。 直接從iOS設備、iTunes/iCloud/第三方程序備份快速恢復數據。 有選擇地恢復已刪除的照片、WhatsApp、消息和 18 多種其他數據類型。 僅通過 iCloud 帳戶訪問即可從…

關系型數據庫-SQLite介紹

優點&#xff1a; 1>sqlite占用的內存和cpu資源較少 2>源代碼開源&#xff0c;完全免費 3>檢索速度上十幾兆、幾十兆的數據庫sqlite很快&#xff0c;但是上G的時候最慢 4>管理簡單&#xff0c;幾乎無需管理。靈巧、快速和可靠性高 5>功能簡…

如何設定一個N層CNN的Layer,CNN初始化

如何設定一個N層CNN的Layer&#xff0c;CNN初始化 前言干貨代碼解釋 結語 前言 目前人工智能已經融入到我們的生活&#xff0c;大數據模型也是層出不窮。那我們就學習一些簡單的模型設置。 干貨 代碼 # This is the original CNN layer setup, def build_cnn(input_layer):…

Vue router深入學習

Vue router深入學習 一、單頁應用程序介紹 1.概念 單頁應用程序&#xff1a;SPA【Single Page Application】是指所有的功能都在一個html頁面上實現 2.具體示例 單頁應用網站&#xff1a; 網易云音樂 https://music.163.com/ 多頁應用網站&#xff1a;京東 https://jd.co…

springboot打成war包及VUE打成war包放入tomcat啟動

1.springboot打成war包步驟 首先在springboot啟動類中繼承SpringBootServletInitializer&#xff0c;重寫configure方法&#xff0c;如下: SpringBootApplication() public class StartApplication extends SpringBootServletInitializer {public static void main(String[] …

Java與.Net的區別

Java 和 .NET 是兩個不同的軟件開發平臺&#xff0c;它們在語言、生態系統、跨平臺性和開發工具等方面有著不同的特點。 1. 語言&#xff1a;Java 使用 Java 編程語言&#xff0c;而 .NET 使用 C#、VB.NET、F# 等多種編程語言。Java 是一種面向對象的編程語言&#xff0c;它強…

在gen_server使用ets實例演示

Erlang的ETS&#xff08;Erlang term storage&#xff09;是一種在內存中存儲數據的結構&#xff0c;類似于其他語言中的數據庫。它允許你在Erlang程序中存儲和檢索數據。gen_server是Erlang中用于創建服務器的一種模式&#xff0c;它能夠處理并發的客戶端請求。 以下是在gen_…

大數據技術10:Flink從入門到精通

導語&#xff1a;前期入門Flink時&#xff0c;可以直接編寫通過idea編寫Flink程序&#xff0c;然后直接運行main方法&#xff0c;無需搭建環境。我碰到許多初次接觸Flink的同學&#xff0c;被各種環境搭建、提交作業、復雜概念給勸退了。前期最好的入門方式就是直接上手寫代碼&…

[滲透測試學習] CozyHosting - HackTheBox

文章目錄 信息搜集 信息搜集 nmap掃描一下&#xff0c;發現存在80端口和22端口 nmap -sV -sC -p- -v --min-rate 1000 10.10.11.230直接訪問80端口發現有跳轉 那么我們將ip添加到hosts里面&#xff0c;成功訪問 觀察發現是企業網站&#xff0c;掃描一下沒有子域名 那么就掃…

【后端學前端】第二天 css動畫 動感菜單(css變量、過渡動畫、過渡延遲、js動態切換菜單)

目錄 1、學習信息 2、源碼 3、變量 1.1 定義變量 1.2 使用變量 1.3 calc() 函數 4、定位absolute和fixed 5、transform 和 transition&#xff0c;動畫 5.1 變形transform 5.2 transition 5.3 動畫animation 6、todo 1、學習信息 視頻地址&#xff1a;css動畫 動感菜…

【jenkins操作步驟】

一、安裝ant 1、下載安裝文件 1.1 進入https://ant.apache.org/ 然后點擊 https://ant.apache.org/bindownload.cgi 超連接下載即可 1.2下載到本地&#xff0c;最好放到D盤下&#xff0c;然后把apache-jmeter-4.0\extras目錄下的ant-jmeter-1.1.1.jar 文件放置到ant下的lib目…

Java最全面試題專題---2、Java集合容器(1)

集合容器概述 什么是集合 **集合框架&#xff1a;**用于存儲數據的容器。 集合框架是為表示和操作集合而規定的一種統一的標準的體系結構。 任何集合框架都包含三大塊內容&#xff1a;對外的接口、接口的實現和對集合運算的算法。 **接口&#xff1a;**表示集合的抽象數據類…

開箱即用的C++決策樹簡單實現

一個數據結構期末作業&#xff08;有興趣用的話可以高抬貴手star下?~&#xff09;GitHub - mcxiaoxiao/c-Decision-tree: 決策樹c簡單實現 &#x1f333; c-Decision-tree 附大作業/課設參考文檔.doc &#x1f333; c-Decision-tree Introduction &#x1f64c; c-Decision…

[c++]—vector類___基礎版(帶你了解vector熟練掌握運用)

&#x1f469;&#x1f3fb;?&#x1f4bb;作者:chlorine 目錄 &#x1f393;標準庫類型vector &#x1f393;定義和初始化vector的對象 &#x1f4bb;列表初始化vector對象 &#x1f4bb;創建指定數量的元素 &#x1f576;?值初始化 ?列表初始化還是值初始化&#xf…

樹莓派,opencv,Picamera2利用舵機云臺追蹤特定顏色對象

一、需要準備的硬件 Raspiberry 4b兩個SG90 180度舵機&#xff08;注意舵機的角度&#xff0c;最好是180度且帶限位的&#xff0c;切勿選360度舵機&#xff09;二自由度舵機云臺&#xff08;如下圖&#xff09;Raspiberry CSI 攝像頭 組裝后的效果&#xff1a; 二、項目目標…

力扣labuladong一刷day30天二叉樹

力扣labuladong一刷day30天二叉樹 文章目錄 力扣labuladong一刷day30天二叉樹一、654. 最大二叉樹二、105. 從前序與中序遍歷序列構造二叉樹三、106. 從中序與后序遍歷序列構造二叉樹四、889. 根據前序和后序遍歷構造二叉樹 一、654. 最大二叉樹 題目鏈接&#xff1a;https://…

智慧機房與3D機房動環監控系統的應用

智慧機房是什么&#xff1f; 智慧機房是集采集信息、實時監控、數據分析、統一管理、故障告警等功能于一體的全方位、立體化的智能環境監控系統&#xff0c;構建物聯網、大數據和云計算背景下現代企業的“數據心臟”。它能為機房管理者呈現細致入微的關鍵性數據&#xff0c;優…

電子學會C/C++編程等級考試2022年06月(五級)真題解析

C/C++等級考試(1~8級)全部真題?點這里 第1題:逃離迷宮 你在一個地下迷宮中找到了寶藏,但是也觸發了迷宮機關,導致迷宮將在T分鐘后坍塌,為此你需要在T分鐘內逃離迷宮,你想知道你能不能逃離迷宮。迷宮是一個邊長為m的正方形,其中"S"表示你所在的位置,"…

<url-pattern>/</url-pattern>與<url-pattern>/*</url-pattern>的區別

<url-pattern>/</url-pattern> servlet的url-pattern設置為/時&#xff0c; 它僅替換servlet容器的默認內置servlet&#xff0c;用于處理所有與其他注冊的servlet不匹配的請求。直白點說就是&#xff0c;所有靜態資源&#xff08;js&#xff0c;css&#xff0c;ima…

HCIA-H12-811題目解析(9)

1、【單選題】下面選項中&#xff0c;能使一臺IP地址為10.0.0.1的主機訪問Interne的必要技術是&#xff1f; 2、【單選題】 FTP協議控制平面使用的端口號為&#xff1f; 3、【單選題】 使用FTP進行文件傳輸時&#xff0c;會建立多少個TCP連接&#xff1f; 4、【單選題】完成…