8.20 dp

?

?

lc73矩陣置零

queue隊列標記

? // 整行置零

?for(int y=0; y<n; y++)?

? ? ? ? ? ? ? ? matrix[i][y] = 0;?

?// 整列置零

? ? ? ? ? ? for(int x=0; x<m; x++)?

? ? ? ? ? ? ? ? matrix[x][j] = 0;?

class Solution {
public:
void setZeroes(vector<vector<int>>& matrix)?
{
int m = matrix.size(), n = matrix[0].size();
// 新增標記隊列
queue<pair<int, int>> q;?

? ? ? ? // 第一次遍歷:記錄原始0的位置
for(int i=0; i<m; i++)?
{
for(int j=0; j<n; j++)?
{
if(matrix[i][j] == 0)?
{
q.push({i, j});?
// 僅記錄原始0坐標
}
}
}

? ? ? ? // 處理所有標記點
while(!q.empty())?
{
auto [i,j] = q.front();
q.pop();
// 整行置零
for(int y=0; y<n; y++)?
matrix[i][y] = 0;?
// 整列置零
for(int x=0; x<m; x++)?
matrix[x][j] = 0;?
}
}
};

?

lc48 從外到內,旋轉矩陣

class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
int n = matrix.size();
int l = 0, r = n - 1;
int t = 0, b = n - 1;
//從外到內,處理每圈

while (l <= r && t <= b)?
{
// 上層轉到右層
for (int i = l; i < r; i++) swap(matrix[t][i],matrix[i][r]);

// 下層轉到左層
for (int i = r; i > l; i--) swap(matrix[b][i],matrix[i][l]);

// 上下層交換
for (int i = l; i < r; i++) swap(matrix[t][i],matrix[b][n - 1 - i]);

l++;r--;t++;b--;
}
}
};

?

?

概率dp 矩陣dp 的思想

逆想記憶化搜索,從下往上推

lc1277.全一正方形個數

dp[I][j]: 枚舉右下角,min(三方位)+1

eg. ?

dp[i][j] = min({dp[i-1][j], dp[i][j-1], dp[i-1][j-1]}) + 1;

?class Solution {
public:
int countSquares(vector<vector<int>>& matrix) {
if (matrix.empty() || matrix[0].empty()) return 0;

int m = matrix.size();
int n = matrix[0].size();
vector<vector<int>> dp(m, vector<int>(n, 0));
int total = 0;

// 初始化第一行和第一列
for (int i = 0; i < m; ++i) {
dp[i][0] = matrix[i][0];
total += dp[i][0];
}
for (int j = 1; j < n; ++j) {
dp[0][j] = matrix[0][j];
total += dp[0][j];
}

// 填充dp數組
for (int i = 1; i < m; ++i) {
for (int j = 1; j < n; ++j) {
if (matrix[i][j] == 1) {
dp[i][j] = min({dp[i-1][j], dp[i][j-1], dp[i-1][j-1]}) + 1;
total += dp[i][j];
}
}
}

return total;
}
};

?

lc961.?在長度 2N 的數組中找出重復 N 次的元素

間隔最小為2

?class Solution {
public:
int repeatedNTimes(vector<int>& nums)?
{

int n = nums.size();
for(int i = 0; i < n - 2; i++)?
{
if(nums[i] == nums[i + 1] || nums[i] == nums[i + 2])?
return nums[i];
}
return nums[n - 1]; // 避免長度為4, 間隔為2的情況
}
};

?

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

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

相關文章

STL庫——string(類模擬實現)

? ? ? ? ? づ?ど &#x1f389; 歡迎點贊支持&#x1f389; 個人主頁&#xff1a;勵志不掉頭發的內向程序員&#xff1b; 專欄主頁&#xff1a;C語言&#xff1b; 文章目錄 前言 一、基本框架 二、構造函數 三、析構函數 四、拷貝構造 五、運算符重載 5.1、賦值重載 5.2…

Linux I/O 多路復用實戰:深入剖析 Select 與 Poll

## 引言:從“阻塞”的餐廳到“事件驅動”的盛宴 想象一下,你是一家小餐館的服務員。餐廳只有5張桌子。你的工作流程是這樣的:走到1號桌,問他們是否要點菜,然后站在那里等他們決定;等他們點完,再去2號桌,同樣站在那里等... 如果1號桌的客人看菜單看了半個小時,那么其他…

【clion】cmake腳本1:調試腳本并構建Fargo項目win32版本

調試腳本并構建 【clion】visual studio的sln轉cmakelist并使用clion構建32位 報錯 "D:\Program Files\JetBrains\CLion 2022.3.1\bin\cmake\win\x64\bin\cmake.exe" --debugger --debugger-pipe=\\<

VS2005里的快捷鍵

VS2005是微軟在2005發布的一款支持C、C#、.net開發語言的集成開發工具&#xff0c;它支持的C版本為C03&#xff0c;但不支持C11&#xff0c;到VS2013才支持大部分的C11(簡稱C11)&#xff0c;到VS2015 update3才完全支持C11。既然VS2005不支持C11&#xff0c;而智能指針是C11才引…

前后端聯合實現文件下載,實現 SQL Server image 類型文件下載

1、前端 Vue3QualityFile.vue<script setup lang"ts" name"QualityFile"> ...... // 下載&#xff0c;實現 SQL Server image 類型文件下載 const onDownloadClick async (fileNo: string) > {// const result await qualityFileDownloadFileWi…

【OneAI】使用Rust構建的輕量AI網關

LLM網關 統一大模型API入口&#xff0c;使用一個令牌調用多家模型&#xff0c;無需切換API Key兼容OpenAI輸入輸出規范內置10提供商和50模型&#xff0c;開箱即用支持自動負載、限流、IP限制、Token用量限制等功能支持釘釘、飛書、企微消息預警支持對不同提供商設置代理支持主…

Jenkins服務器配置SSH

1. 創建Jenkins用戶的SSH配置ssh-keygen -t rsa -b 4096 -f /tmp/jenkins_ssh_key -N ""2. 在Jenkins服務器上執行以下命令# 切換到root用戶 sudo su -# 創建Jenkins用戶的SSH目錄 mkdir -p /var/lib/jenkins/.ssh chown jenkins:jenkins /var/lib/jenkins/.ssh chmo…

nginx-下載功能-狀態統計-訪問控制

nginx-下載功能-狀態統計-訪問控制一、利用nginx做網站提供下載功能1. 進入nginx存放配置文件目錄2. 編輯nginx.conf文件&#xff0c;開啟下載功能3. 檢查nginx.conf主配置文件是否正確4. 重啟nginx服務5. 修改首頁文件index.html6. 訪問首頁7. 去網頁根目錄下新建download目錄…

GitLab CI/CD、Jenkins與GitHub Actions在Kubernetes環境中的方案對比分析

GitLab CI/CD、Jenkins與GitHub Actions在Kubernetes環境中的方案對比分析 隨著容器化和微服務的普及&#xff0c;基于Kubernetes的部署已經成為主流。在實際的生產環境中&#xff0c;如何選擇合適的CI/CD流水線方案以實現自動化構建、測試、部署和發布&#xff0c;直接關系到團…

tcp會無限次重傳嗎

tcp作為面向連接的&#xff0c;可靠的&#xff0c;字節流。最重要的特點就是可靠&#xff0c;其中重傳又是保證可靠的重要前提。那么當tcp發送數據之后&#xff0c;收不到ack的情況下&#xff0c;會無限次重傳嗎。不會。# cat /proc/sys/net/ipv4/tcp_retries1 3 # cat /proc/s…

EasyAIoT平臺部署

EasyAIoT官方文檔專注于 AIoT 智能硬件與工業軟件解決方案&#xff0c;提供從設備接入到云端管理的全棧服務http://pro.basiclab.top:9988/

功能測試相關問題

1.功能測試流程&#xff08;工作流程&#xff09;需求分析 -- 測試點分析&#xff08;xmind&#xff09;-- 編寫測試計劃/用例及評審 -- 執行測試用例&#xff08;開發提交測試&#xff09;-- 發現缺陷通過缺陷管理工具提交 -- 回歸測試及bug驗證&#xff08;開發提測新版本&am…

微服務網關中數據權限傳遞的那些坑:從 Feign 兼容性問題到解決方案

在微服務架構中&#xff0c;網關作為流量入口&#xff0c;常常需要承擔身份認證、權限校驗等職責。其中&#xff0c;用戶數據權限的傳遞看似簡單&#xff0c;卻隱藏著不少兼容性陷阱。本文將結合實際項目經驗&#xff0c;聊聊如何解決 Feign 調用時請求頭中 JSON 數據的傳遞問題…

基于SpringBoot的旅游攻略系統網站【2026最新】

作者&#xff1a;計算機學姐 開發技術&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源碼”。 專欄推薦&#xff1a;前后端分離項目源碼、SpringBoot項目源碼、Vue項目源碼、SSM項目源碼、微信小程序源碼 精品專欄&#xff1a;…

thingsboard 服務器在2核CPU、2G內存資源配置下如何調優提速,適合開發/演示

物聯網設備管理平臺致力于為客戶提供高效、可靠的物聯網解決方案。基于開源物聯網平臺進行深度二次開發&#xff0c;我們打造了功能強大、靈活易用的物聯網平臺&#xff0c;廣泛應用于智能家居、智能工廠、智能城市等多個領域 一、標準資源要求 CPU&#xff1a;建議至少 8 vCP…

C#多線程學習—主子線程,Invoke與begininvoke

一、為什么需要多線程操作&#xff1f;在 WinForms 應用程序中&#xff0c;主線程&#xff08;UI 線程&#xff09;負責處理用戶交互和界面更新。當執行耗時操作&#xff08;如網絡請求、文件讀寫、復雜計算&#xff09;時&#xff0c;如果直接在 UI 線程執行&#xff0c;會導致…

Vue 核心知識點總結

Vue 作為國內最普及的前端框架,是面試中考察概率最高的技術之一。本文將系統梳理 Vue 的核心知識點,包括 Vue3 與 Vue2 的區別、組件通信、生命周期、性能優化等關鍵內容。 ?? Vue3 和 Vue2 的主要區別 Vue 3 提供了更現代化、更高性能的架構,通過 Composition API 和 P…

Python腳本每天爬取微博熱搜-升級版

主要優化內容&#xff1a; 定時任務調整&#xff1a; 將定時任務從每小時改為每10分鐘執行一次 調整了請求延遲時間&#xff0c;從1-3秒減少到0.5-1.5秒 縮短了請求超時時間&#xff0c;從10秒減少到8秒 性能優化&#xff1a; 移除了廣告數據的處理&#xff0c;減少不必要的處理…

win11兼容運行遠古游戲

游戲<遠古戰爭>屬于win7時代的游戲&#xff0c;在win11系統中運行&#xff0c;當鼠標移動立馬卡住 解決方案&#xff1a; 最優&#xff1a;采用wmware虛擬機安裝win7系統 最簡單&#xff1a;使用 DxWnd 模擬老游戲運行環境 DxWnd官網下載 附錄&#xff1a;游戲下載網址…

Docker小游戲 | 使用Docker部署人生重開模擬器

Docker小游戲 | 使用Docker部署人生重開模擬器 前言 項目介紹 項目簡介 項目預覽 二、系統要求 環境要求 環境檢查 Docker版本檢查 檢查操作系統版本 三、部署人生重開模擬器小游戲 下載鏡像 創建容器 檢查容器狀態 檢查服務端口 安全設置 四、訪問人生重開模擬器 五、總結 前言…