LeetCode Hot100(多維動態規劃)

62. 不同路徑

比較板子的dp,實際上就是到達一個點有兩種方式,從上面來或者是左邊,加起來就可以了

class Solution {public int uniquePaths(int m, int n) {int [][]arr = new int[m+2][n+2];arr[1][1]=1;for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){if(i==1&&j==1){continue;}arr[i][j]+=arr[i-1][j]+arr[i][j-1];}}return arr[m][n];}
}

64. 最小路徑和

跟上一題一樣,該題取一下最小值即可

class Solution {public int minPathSum(int[][] grid) {if(grid.length==0){return 0;}for(int i=0;i<grid.length ; i ++){for(int j=0;j<grid[i].length;j++){if(i>0&&j>0){grid[i][j]+=Math.min(grid[i-1][j],grid[i][j-1]);}else if(i==0){if(j>0){grid[i][j]+=grid[i][j-1];}}else if(j==0){if(i>0){grid[i][j]+=grid[i-1][j];}}}}return grid[grid.length-1][grid[grid.length-1].length-1];}
}

5. 最長回文子串

這邊直接采取的暴力的做法,枚舉每一個字符串,看看是不是回文的即可

class Solution {public static String longestPalindrome(String s) {int wei=0;int len=1;char []arr=s.toCharArray();for(int i=0;i<arr.length;i++){for(int j=i;j<arr.length;j++){int f=(j-i);int mark=0;for(int p=0;p<=f;p++){if(arr[i+p]!=arr[j-p]){mark=1;break;}}if(mark==0){if(j-i+1>=len){len=j-i+1;wei=i;}}}}String s2=s.substring(wei,wei+len);return s2;}
}

1143. 最長公共子序列

也算是比較板子的dp了,我們設dp[i][j]為以i和j為結尾的最長子序列,它實際上有兩種可能,一個是i和j對應的字符相等,那么直接就是i-1,j-1加1即可,如果不同,就是i-1,j,或者i,j-1轉移過來即可

class Solution {public static void main(String[] args) {longestCommonSubsequence("abcde","ace");}public static int longestCommonSubsequence(String text1, String text2) {int len=0;char []s2=text2.toCharArray();char []s1=text1.toCharArray();int [][]dp=new int[text1.length()][text2.length()];int maxx=0;for(int i=0;i<s1.length;i++){for(int j=0;j<s2.length;j++){if(s1[i]==s2[j]){if(i>=1&&j>=1){dp[i][j]=Math.max(dp[i-1][j-1]+1,dp[i][j]);}else{dp[i][j]=1;}}else{if(i>=1){dp[i][j]=Math.max(dp[i-1][j],dp[i][j]);}if(j>=1){dp[i][j]=Math.max(dp[i][j-1],dp[i][j]);}}maxx=Math.max(dp[i][j],maxx);}}return maxx;}}

72. 編輯距離

與上一題幾乎一致,看一下代碼即可

import java.util.*;import static java.util.Collections.reverse;public class Main {public static void main(String[] args) {minDistance("abcde","ace");}public static int minDistance(String word1, String word2) {int len1 = word1.length(), len2 = word2.length();int[][] dp = new int[len1 + 1][len2 + 1];for (int i = 0; i < len1; i++)dp[i + 1][0] = i + 1;for (int i = 0; i < len2; i++)dp[0][i + 1] = i + 1;for (int i = 0; i < len1; i++) {for (int j = 0; j < len2; j++) {dp[i + 1][j + 1] = word1.charAt(i) == word2.charAt(j) ? dp[i][j]: Math.min(Math.min(dp[i][j + 1], dp[i + 1][j]), dp[i][j]) + 1;}}return dp[len1][len2];}}

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

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

相關文章

Oracle MOVE ONLINE 實現原理

Oracle MOVE ONLINE 實現原理 Oracle 的 MOVE ONLINE 操作是一種在線重組表的技術&#xff0c;允許在不中斷業務的情況下重新組織表數據。以下是其實現原理的詳細分析&#xff1a; 基本概念 MOVE ONLINE 是 Oracle 12c 引入的特性&#xff0c;用于替代傳統的 ALTER TABLE ..…

工作流長任務處置方案

以下是前后端協作處理長任務工作流的完整實現方案&#xff0c;結合技術選型與設計要點&#xff0c;以清晰結構呈現&#xff1a; 一、后端實現方案 異步任務隊列架構 ? 技術選型&#xff1a; ? 消息隊列&#xff1a;NATS&#xff08;輕量級&#xff09;或 RabbitMQ&#xf…

RabbitMQ仲裁隊列高可用架構解析

#作者&#xff1a;閆乾苓 文章目錄 概述工作原理1.節點之間的交互2.消息復制3.共識機制4.選舉領導者5.消息持久化6.自動故障轉移 集群環境節點管理仲裁隊列增加集群節點重新平衡仲裁隊列leader所在節點仲裁隊列減少集群節點 副本管理add_member 在給定節點上添加仲裁隊列成員&…

fingerprint2瀏覽器指紋使用記錄

我在uniapp-vue3-H5端使用的&#xff0c;記錄一下 抄的這里前端使用fingerprintjs2獲取瀏覽器指紋fingerprintjs2是通過設備瀏覽器信息獲取瀏覽器指紋的插件&#xff08; - 掘金 1、安裝依賴 npm i fingerprintjs2 -S2、抽成模塊文件&#xff0c;/utils/Fingerprint2.js 生成指…

深度學習面試八股簡略速覽

在準備深度學習面試時&#xff0c;你可能會感到有些不知所措。畢竟&#xff0c;深度學習是一個龐大且不斷發展的領域&#xff0c;涉及眾多復雜的技術和概念。但別擔心&#xff0c;本文將為你提供一份全面的指南&#xff0c;從基礎理論到實際應用&#xff0c;幫助你在面試中脫穎…

使用 Redis 作為向量數據庫

一、什么是向量數據庫&#xff1f; 向量&#xff08;Vector&#xff09;&#xff1a;在機器學習和 AI 中&#xff0c;向量是由一系列數字組成的序列&#xff0c;用于數值化地描述數據的特征或語義。文本、圖像、音頻等非結構化數據可以通過模型轉換成固定長度的向量。 向量數據…

變量的計算

不同類型變量之間的計算 數字型變量可以直接計算 在python中&#xff0c;數字型變量可以直接通過算術運算符計算bool型變量&#xff1a;True 對應數字1 &#xff1b;False 對應數字0、 字符串變量 使用 拼接字符串 使用 * 拼接指定倍數的相同字符串 變量的輸入&#xff1a;&…

PostgreSQL學會如何建表

開始使用PostgreSQL之前&#xff0c; 上一節我們說了怎樣安裝它。 PostgreSQL可能已經安裝到你的電腦上了,安裝后postgre服務默認在電腦開機時運行啟動。 一.了解PostgreSQL的運行 PostgreSQL使用一種客戶端/服務器&#xff08;C/S&#xff09;模型。 和其他典型的客戶端/服務…

Linux驅動學習筆記(十)

熱插拔 1.熱插拔&#xff1a;就是帶電插拔&#xff0c;即允許用戶在不關閉系統&#xff0c;不切斷電源的情況下拆卸或安裝硬盤&#xff0c;板卡等設備。熱插拔是內核和用戶空間之間&#xff0c;通過調用用戶空間程序實現交互來實現的&#xff0c;當內核發生了某種熱拔插事件時…

大模型應用開發第五講:成熟度模型:從ChatGPT(L2)到未來自主Agent(L4)

大模型應用開發第五講&#xff1a;成熟度模型&#xff1a;從ChatGPT&#xff08;L2&#xff09;到未來自主Agent&#xff08;L4&#xff09; 資料取自《大模型應用開發&#xff1a;動手做AI Agent 》。 查看總目錄&#xff1a;學習大綱 關于DeepSeek本地部署指南可以看下我之…

Delphi 導入excel

Delphi導入Excel的常見方法可分為兩種主流方案&#xff1a;基于OLE自動化操作Excel原生接口和利用第三方組件庫。以下為具體實現流程及注意事項&#xff1a; ?一、OLE自動化方案&#xff08;推薦基礎場景&#xff09;? 該方法通過COM接口調用本地安裝的Excel程序&#xff0c…

Selenium的第四天打卡——Selenium瀏覽器應用(完整版)

Selenium瀏覽器應用 目錄 Selenium瀏覽器應用 一、瀏覽器操作示例代碼 1.設置瀏覽器縮放大小 2.瀏覽器前進和后退 3.瀏覽器刷新 二、WebDriver常見方法 三、鼠標事件示例 四、鍵盤事件示例 五、獲取斷言信息 六、窗口的切換 七、關鍵注意事項 一、瀏覽器操作示例代…

PMO價值重構:從項目管理“交付機器”到“戰略推手”

在數字化轉型浪潮中&#xff0c;項目管理辦公室&#xff08;PMO&#xff09;正經歷著前所未有的角色蛻變。傳統上&#xff0c;PMO往往被視為項目管理的“交付機器”&#xff0c;專注于項目的按時交付和資源分配。然而&#xff0c;隨著企業對戰略執行的重視&#xff0c;PMO正逐漸…

本地依賴庫的版本和庫依賴的版本不一致如何解決?

我用的 yarn v4 版本&#xff0c;所以以下教程命令都基于yarn 這里假設我報錯的庫名字叫 XXXXXXXX&#xff0c;依賴他的庫叫 AAAAAAAA 排查解決思路分析&#xff1a; 首先查看一下 XXXXXXXX 的依賴關系&#xff0c;執行 yarn why XXXXXXXX 首先我們要知道 yarn 自動做了庫…

SQLiteStudio - 免費開源、輕量高效,跨平臺的 SQLite 數據庫管理工具,代替 Navicat for SQLite

管理 SQLite 數據庫就用這款軟件&#xff0c;真的早該摒棄破解和盜版的 Navicat 了。 SQLiteStudio 是一款專注于管理 SQLite 數據庫 的桌面軟件&#xff0c;用于瀏覽和編輯 SQLite 數據庫文件。軟件的作者是來自波蘭的開發者 Pawe? Salawa&#xff0c;他是一位擁有 20 年 Ja…

DeepSeek R1-0528 新開源推理模型(免費且快速)

DeepSeek推出了新模型,但這不是R2! R1-0528是DeepSeek的最新模型,在發布僅數小時后就在開源社區獲得了巨大關注。 這個悄然發布的模型DeepSeek R1-0528,已經開始與OpenAI的o3一較高下。 讓我來詳細介紹這次更新的新內容。 DeepSeek R1-0528 發布 DeepSeek在這次發布中采…

Opera Neon發布該公司首款“AI代理”瀏覽器

Opera 的瀏覽器產品組合今日迎來了新成員。Opera Neon 是該公司首款“AI 代理”瀏覽器&#xff0c;旨在“重新思考瀏覽器在代理網絡中的角色”。開發人員聲稱&#xff0c;Neon 能夠理解用戶的意圖&#xff0c;并利用 AI 驅動的功能將其轉化為行動。 Opera Neon 由三個主要部分…

網絡安全之Web滲透加解密

項目基本使用 準備環境&#xff1a;node.js python chrome npm install chrome-remote-interface pip install playwright playwright install chromium pip install mitmproxy ............... 第一步啟動cdp.js。 第二步使用python .\cdp_load.py vue_demo&#xff0c;連…

【VSCode-Qt】Docker遠程連接的項目UI文件在 VSCode 上無法預覽

Docker遠程連接的UI文件在 VSCode 上無法預覽&#xff0c;通常是因為 VSCode 通過遠程開發擴展&#xff08;Remote - SSH/Docker&#xff09;連接到 Docker 容器時&#xff0c;某些圖形化功能未正確配置或支持。以下是可能原因和解決方案&#xff1a; 原因分析 X11 轉發未配置…

【HW系列】—web組件漏洞(Strtus2和Apache Log4j2)

本文僅用于技術研究&#xff0c;禁止用于非法用途。 文章目錄 Struts2Struts2 框架介紹Struts2 歷史漏洞匯總&#xff08;表格&#xff09;Struts2-045 漏洞詳解 Log4j2Log4j2 框架介紹Log4j2 漏洞原理1. JNDI 注入2. 利用過程 Log4j2 歷史漏洞JNDILDAP 反彈 Shell 流程 Strut…