代碼隨想錄day2 數組總結

1.二分查找

2.快慢 雙指針

代碼隨想錄day1-CSDN博客

3.滑動窗口

滑動窗口就是有一個起始位置,一個終止位置,通過調節起始位置和終止位置得到我們想要的結果。

外面一層for循環??? 用來更新終止位置?? 不滿足條件 終止位置右移

里面一層while循環? 用來更新起始位置?? 滿足條件 起始位置右移

209. 長度最小的子數組 - 力扣(LeetCode)

int minSubArrayLen(int target, vector<int>& nums) {int i = 0;int reslut = 100001;int subL = 0;int sum = 0;for(int j = 0; j < nums.size(); j++){sum += nums[j];while(sum >= target){subL = j - i + 1;reslut = min(reslut, subL);sum -= nums[i];i++;}}if(reslut == 100001)return 0;else return reslut;}

904. 水果成籃 - 力扣(LeetCode)

int totalFruit(vector<int>& fruits) {int i = 0;int result = 0;unordered_map<int, int> kind; //記錄水果種類數for(int j = 0; j < fruits.size(); j++){kind[fruits[j]]++;while(kind.size() > 2){kind[fruits[i]]--;if(kind[fruits[i]] == 0){kind.erase(fruits[i]); //如果某種水果數量等于0,從哈希表中移除}i++;}result = max(result, j - i + 1);}return result;}

76. 最小覆蓋子串 - 力扣(LeetCode)

string minWindow(string s, string t) {if(s.empty() || t.empty() || s.size() < t.size())return "";int result = INT_MAX;int i = 0;unordered_map<char, int>t_count;unordered_map<char, int> window_count;for(int j = 0; j < t.size(); j++){t_count[t[j]]++;}int num = 0;int left = 0;for(int j = 0; j < s.size(); j++){window_count[s[j]]++;if(window_count[s[j]] == t_count[s[j]]){num++;}while(num == t_count.size()){int temp = j - i + 1;if(temp < result){result = temp;left = i;}if(t_count.find(s[i]) != t_count.end()){if(window_count[s[i]] == t_count[s[i]]){num--;}//本來有可能大于或等于window_count[s[i]]--;}i++;}}return result == INT_MAX ? "":s.substr(left, result);}

4.螺旋矩陣模擬

左閉右開,循環模擬

59. 螺旋矩陣 II - 力扣(LeetCode)

vector<vector<int>> generateMatrix(int n) {int starx = 0, stary = 0;int offset = 1;vector<vector<int>> re(n, vector<int>(n,0));int count = 1;int i, j;while(offset <= n/2){i = starx;j = stary;for(; j < n - offset; j++){re[i][j] = count++;}for(; i < n - offset; i++){re[i][j] = count++;}for(; j > stary; j--){re[i][j] = count++;}for(; i > starx; i--){re[i][j] = count++;}offset++;starx++;stary++;}if(n % 2 != 0)re[n/2][n/2] = count;return re;}

?54. 螺旋矩陣 - 力扣(LeetCode)

vector<int> spiralOrder(vector<vector<int>>& matrix) {if(matrix.size() == 0 || matrix[0].size() == 0)return {};vector<int> re; int starx = 0, stary = 0;int w = matrix[0].size();int h = matrix.size();int i, j;int offset = 1;while(offset <= min(w,h)/2){i = starx;j = stary;for(; j < w - offset; j++){re.push_back(matrix[i][j]);}for(;i < h - offset; i++){re.push_back(matrix[i][j]);}for(; j > stary; j--){re.push_back(matrix[i][j]);}for(; i > starx; i--){re.push_back(matrix[i][j]);}offset++;starx++;stary++;}if(h % 2 != 0 && w >= h){int offset = h/2;for(int j = offset; j < w - offset; j++){re.push_back(matrix[offset][j]);}}else if(w % 2 != 0 && w < h){int offset = w/2;for(int i = offset; i < h - offset; i++){re.push_back(matrix[i][offset]);}}return re;}

5.區間和

把前綴和保存起來后面直接用

58. 區間和(第九期模擬筆試)

#include<iostream>
#include<vector>
using namespace std;int main(){int n, a, b;cin >> n;int re = 0;vector<int> vec(n);vector<int> sum(n);   // 前綴和for(int i = 0; i < n; i++){int t;cin >> t;vec[i] = t;if(i == 0)sum[i] = t;else sum[i] = t + sum[i-1];}while(cin >> a >> b){if(a == 0)re = sum[b];else re = sum[b] - sum[a-1];cout << re << endl;}}

44. 開發商購買土地(第五期模擬筆試)

#include<iostream>
#include<vector>
#include <climits>
using namespace std;int main(){int n, m;cin >> n >> m;int sum = 0;vector<vector<int>> vec(n, vector<int>(m, 0));vector<int> w(n, 0);  //橫向vector<int> h(m, 0);  //縱向for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){int t = 0;cin >> vec[i][j];sum += vec[i][j];w[i] += vec[i][j];}}for(int j = 0; j < m; j++){for(int i = 0; i < n; i++){h[j] += vec[i][j];}}int result = INT_MAX;int t = 0;for(int i  = 0; i < n; i++){t += w[i];result = min(result, abs(sum - t - t));}t = 0;for(int j = 0; j < m; j++){t += h[j];result = min(result, abs(sum - t - t));}cout << result << endl;
}

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

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

相關文章

MAC安裝docker 后提示com.docker.vmnetd”將對您的電腦造成傷害

出現“com.docker.vmnetd”將對您的電腦造成傷害的提示&#xff0c;通常是由于文件簽名問題導致 macOS 的安全系統誤判 Docker 為惡意軟件。以下是解決方法&#xff1a; 停止相關服務并刪除文件 運行以下命令停止相關服務并刪除有問題的文件 停止 Docker 服務 sudo pkill ‘…

Redis-常用命令

目錄 1、Redis數據結構 2、命令簡介 2.1、通用命令 DEL EXISTS EXPIRE 2.2、String命令 SET和GET MSET和MGET INCR和INCRBY和DECY SETNX SETEX 2.3、Key的層級結構 2.4、Hash命令 HSET和HGET HMSET和HMGET HGETALL HKEYS和HVALS HINCRBY HSETNX 2.5、List命…

每日一題之既約分數

題目描述 本題為填空題&#xff0c;只需要算出結果后&#xff0c;在代碼中使用輸出語句將所填結果輸出即可。 如果一個分數的分子和分母的最大公約數是 1&#xff0c;這個分數稱為既約分數。 例如 3/4,1/8,7/1?&#xff0c; 都是既約分數。 請問&#xff0c;有多少個既約分…

Java 圖片壓縮:高效壓縮方案解析

目錄 一、基于OpenCV的智能尺寸壓縮(一)代碼示例(二)技術亮點(三)適用場景二、WebP高效格式轉換(一)代碼示例(二)核心優勢(三)性能對比三、基于Thumbnailator的簡單壓縮(一)代碼示例(二)技術亮點(三)適用場景四、方案選型建議一、基于OpenCV的智能尺寸壓縮 …

鴻蒙Next-集成HmRouter的路由模式

第一步&#xff1a;全局安裝hmrouter依賴 ohpm install hadss/hmrouter第二步&#xff1a;修改全局的hvigor-config.json5(加入hm-router插件) hvigor/hvigor-config.json5 {"modelVersion": "5.0.1","dependencies": {"hadss/hmrouter-…

uni-app:指引蒙層

組件說明 指引蒙層組件: 通過id標簽,突出對應id中的模塊; 可以自定義提示詞。 點擊任意位置關閉蒙層 效果展示和使用示例 切換id之后的效果: 代碼實現 <template><view class="guide-mask" v-if="showMask" @click="hideMask"&g…

基于Java與Go的下一代DDoS防御體系構建實戰

引言:混合云時代的攻防對抗新格局 2024年某金融平臺遭遇峰值2.3Tbps的IPv6混合攻擊,傳統WAF方案在新型AI驅動攻擊面前全面失效。本文將以Java與Go為技術棧,揭示如何構建具備智能決策能力的防御系統。 一、攻擊防御技術矩陣重構 1.1 混合攻擊特征識別 攻擊類型Java檢測方案…

大數據Spark(五十五):Spark框架及特點

文章目錄 Spark框架及特點 一、Spark框架介紹 二、Spark計算框架具備以下特點 Spark框架及特點 一、Spark框架介紹 Apache Spark 是一個專為大規模數據處理而設計的快速、通用的計算引擎。最初由加州大學伯克利分校的 AMP 實驗室&#xff08;Algorithms, Machines, and Pe…

ubuntu 升級補丁,備份備份備份

一、常規軟件包更新&#xff08;安全補丁和軟件升級&#xff09; 更新軟件包列表 從軟件源服務器獲取最新的軟件包信息&#xff1a; sudo apt update升級已安裝的軟件包 安裝所有可用的更新&#xff08;安全補丁、功能更新&#xff09;&#xff1a; sudo apt upgrade處理依賴…

CubeMx——串口與 printf 打印

CubeMx 配置 fputc 實現 /* USER CODE BEGIN 0 */ #include <stdio.h> /* USER CODE END 0 *//* USER CODE BEGIN 1 */ int fputc(int ch, FILE *f) {/* Place your implementation of fputc here *//* e.g. write a character to the USART */uint8_t send_data ch;HA…

多線程 -- Thread類

Thread 的常見構造方法 最后一個構造方法中的 ThreadGroup 線程組是 Java 中的概念&#xff0c;和系統內核中的線程組不是一個東西。我們自己創建的線程&#xff0c;默認是按照 Thread- 0 1 2 3 4...命名。但我們也可以給不同的線程&#xff0c;起不同的名字&#xff08;不同的…

Java基礎關鍵_032_反射(二)

目 錄 一、反射 Class 的 Method 1.反編譯 String 類的方法簽名 2.通過反射調用方法 3.反編譯 String 類的構造方法簽名 4.通過反射調用構造方法 二、類加載過程 1.裝載&#xff08;Loading&#xff09; &#xff08;1&#xff09;說明 &#xff08;2&#xff09;雙親委…

《數據結構:單鏈表》

“希望就像星星&#xff0c;或許光芒微弱&#xff0c;但永不熄滅。” 博主的個人gitee&#xff1a;https://gitee.com/friend-a188881041351 一.概念與結構 鏈表是一種物理存儲上非連續、非順序的存儲結構&#xff0c;數據元素的順序邏輯是通過鏈表中的指針鏈接次序實現的。 單…

藍橋杯 - 中等 - 絕美宋詞

介紹 “今宵酒醒何處&#xff0c;楊柳岸曉風殘月”&#xff0c;“驀然回首&#xff0c;那人卻在燈火闌珊處”&#xff0c;“試問閑愁都幾許&#xff1f;一川煙草&#xff0c;滿城風絮&#xff0c;梅子黃時雨” ...... 宋詞可謂是古代文學桂冠上一顆璀璨的明珠&#xff0c;本題…

JDBC、excute()、DriveManager、Connection、Statement、自建JDBC工具類、占位符

DAY19.2 Java核心基礎 JDBC JDBC&#xff1a;Java database Connectivity JDBC是java程序連接各種數據庫的組件 Mybatis就是基于JDBC的封裝&#xff0c;是獨立于數據庫的管理系統&#xff0c;通用的SQL數據庫存取和操作的公共接口 定義了一套標準&#xff0c;為訪問 不同數…

21天Python計劃:函數簡單介紹

文章目錄 前言一、函數知識體系二、函數基礎函數的定義和調用函數參數 三、函數對象、函數嵌套、名稱空間與作用域、裝飾器函數對象函數嵌套名稱空間與作用域裝飾器 四、迭代器、生成器、面向過程編程迭代器生成器面向過程編程 五、三元表達式、列表推導式、生成器表達式、遞歸…

污水處理廠人員定位方案-UWB免布線高精度定位

1. 方案概述 本方案采用免布線UWB基站與北斗衛星定位融合技術&#xff0c;結合UWBGNSS雙模定位工卡&#xff0c;實現污水處理廠室內外人員高精度定位&#xff08;亞米級&#xff09;。系統通過低功耗4G傳輸數據&#xff0c;支持實時位置監控、電子圍欄、聚集預警、軌跡回放等功…

無人機DSP處理器工作要點!

一、DSP處理器在無人機中的工作要點 1. 高效運算架構 哈佛結構&#xff1a;DSP采用程序與數據存儲分離的哈佛結構&#xff0c;允許同時訪問指令和數據&#xff0c;提升數據吞吐效率。 流水線技術&#xff1a;將指令分解為取指、譯碼、執行等多個階段并行處理&#xff0c…

MySQL查詢成本計算

對于如上SQL&#xff0c;只是因為查詢字段不同&#xff0c;最終執行時選擇的索引就不同&#xff0c;那么MySQL是如何決定選擇使用哪個索引呢&#xff1f; 答案是MySQL會進行成本計算&#xff0c;對于各個場景查詢進行成本預估&#xff0c;最終選擇最優。 我們可以使用trace工具…

《K230 從熟悉到...》矩形檢測

《K230 從熟悉到...》矩形檢測 《廬山派 K230 從熟悉到...》矩形檢測 矩形檢測技術是一種廣泛應用于電子圖像處理的核心技術。它通過識別和分析圖像中的矩形結構&#xff0c;為各種應用提供基礎支持。從傳統圖像處理算法到現代深度學習技術&#xff0c;矩形檢測的實現途徑多種多…