7.17 滑動窗口

?

lc523.同余定理

兩個注意點

  • 同余定理:余數相同的兩個數,做差可被整除。--前綴和
  • hash存mod,不可以用set,因為要保證len大于等于2,所以要存idx映射

!!還有對于全選和全不選的兩個邊界,下標初始化處理

同余定理就是說:兩個整數 a 和 b,如果除以同一個正整數 m 后余數相同,就稱 a 和 b 對 m 同余,簡單記成 ?a ≡ b (mod m) ?,大白話就是“除以 m 剩得一樣” 。

比如 17 和 5 除以 6 都余 5,就說 17 和 5 對 6 同余 。則(17-5)%6=0,余數相同的兩個數,做差可被整除。

class Solution {
public:
bool checkSubarraySum(vector<int>& nums, int k)?
{
int n=nums.size();
vector<int> f(n+1,0);

for(int i=0;i<n;i++)
{
f[i+1]=f[i]+nums[i];
}
unordered_map<int,int> hash;
hash[0]=0;

for(int i=0;i<=n;i++)
{
int mod=f[i]%k;

if(hash.count(mod))
{
if(i-hash[mod]>=2)
return true;
}
else
hash[mod]=i;
}
return false;

}
};

?

lc1423.

滑動窗口?正難則反(用滑動窗口,就要轉化為連續部分才能滑~)

?

取兩邊最大->轉化為中間最小

喜提tle....

class Solution {
vector<int> card;
int n=0,k=0,ret=0;
public:
int maxScore(vector<int>& cardPoints, int k)?
{
card=cardPoints;
this->k=k;
n=cardPoints.size();
dfs(0,n-1,0,0);

return ret;
}

void dfs(int b,int e,int sum,int cnt)
{
if(cnt==k)?
{?
ret=max(ret,sum);
return;
}

dfs(b,e-1,sum+card[e],cnt+1);
dfs(b+1,e,sum+card[b],cnt+1);
}
};

滑動窗口,正難則反

class Solution {

public:

? ? int maxScore(vector<int>& cardPoints, int k) {

? ? ? ? int ret=INT_MAX,sum=0;

? ? ? ? int l=0,r=0;

? ? ? ? int n=cardPoints.size();

? ? ? ? int w=n-k;

? ? ? ? int tt=0;

? ? ? ??

? ? ? ? for(auto& c:cardPoints)

? ? ? ? ? ? tt+=c;

? ? ? ??

? ? ? ? while(r<n)

? ? ? ? {

? ? ? ? ? ? sum+=cardPoints[r];

? ? ? ? ? ? r++;

? ? ? ? ? ??

? ? ? ? ? ? if(r-l==w)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? ret=min(ret,sum);

? ? ? ? ? ? ? ? sum-=cardPoints[l];

? ? ? ? ? ? ? ? l++;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? int ans=tt-ret;

? ? ? ? if(ret==INT_MAX) ans=tt;

? ? ? ? return ans;

? ? }

};

?

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

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

相關文章

算法與前端的可訪問性

引言 可訪問性&#xff08;Accessibility, a11y&#xff09;是現代 Web 開發的核心&#xff0c;確保所有用戶&#xff0c;包括殘障人士&#xff0c;都能無障礙地使用應用。算法在優化前端性能的同時&#xff0c;也能通過高效的數據處理和交互邏輯提升可訪問性體驗。例如&#x…

使用token調用Spring OAuth2 Resource Server接口錯誤 insufficient_scope

1、場景 最近照著《Spring Security實戰》學習&#xff0c;學到第18章&#xff0c;使用Keycloak作為授權服務器&#xff0c;使用 org.springframework.boot:spring-boot-starter-oauth2-resource-server 實現資源服務器&#xff0c;調用資源服務器的接口返回403&#xff0c;具…

4. 觀察者模式

目錄一、現實應用場景二、初步實現2.1 實現方案12.2 實現方案2三、觀察者模式3.1 應用場景3.2 詳解3.3 實現3.4 設計類圖四、實現五、更多一、現實應用場景 教師的手機號改變之后要通知給所有學生如果有一個學生沒有通知到位就會產生遺漏如何自動完成 二、初步實現 2.1 實現…

es 啟動中的一些記錄

完整修復流程 bash # 1. 創建用戶主目錄(如果需要) mkdir -p /home/es8 chown es8:es8 /home/es8# 2. 變更 Elasticsearch 目錄所有權 chown -R es8:es8 /data/es/elasticsearch-8.17.2/# 3. 調整目錄和文件權限 chmod -R 755 /data/es/elasticsearch-8.17.2/ chmod 644 /d…

區塊鏈之拜占庭容錯算法——Practical Byzantine Fault Tolerance(PBFT)

實用拜占庭容錯算法&#xff08;PBFT&#xff09;是由 Barbara Liskov 和 Miguel Castro 于 90 年代末提出的一種共識算法。原論文鏈接如下&#xff1a; http://pmg.csail.mit.edu/papers/osdi99.pdf pBFT 被設計為在異步&#xff08;響應請求的時間沒有上限&#xff09;系統…

從電子管到CPU

在線verilog轉電路圖 簡單門電路 https://logic.ly/demo/ 數學基礎 普通邏輯 與自然語言關系緊密, 亞里士多德三段論,??穆勒五法 , 語言, 語義,概念,定義,辯論, 詐騙 等, 是文科類的邏輯。 離散數學 不連續數學 數理邏輯 命題邏輯與謂詞邏輯, 與數學推理關系緊密, 它…

Javase-8.數組的練習

1.查找數組中指定元素(二分查找)以升序數組為例, 二分查找的思路是先取中間位置的元素, 然后使用待查找元素與數組中間元素進行比較&#xff1a; 如果相等&#xff0c;即找到了返回該元素在數組中的下標 如果小于&#xff0c;以類似方式到數組左半側查找 如果大于&#xff0c;以…

H3CNE綜合實驗之機器人

H3CNE綜合實驗之機器人 實驗拓撲圖實驗需求 1.按照圖示配置 IP 地址 2.SW1 和 SW2 之間的直連鏈路配置鏈路聚合 3.公司內部業務網段為 Vlan10 和 Vlan20;Vlan10 是市場部&#xff0c;Vlan20 是技術部&#xff0c;要求對 Vlan 進行命名以識別; ? PC8 屬于 Vlan10&#xff0c…

2025/7/15——java學習總結

Java IO、Stream、異常與 File 全體系總結&#xff1a;從基礎到進階的完整突破一、核心知識深耕&#xff1a;四大模塊的體系與底層邏輯&#xff08;一&#xff09;IO 流&#xff1a;數據傳輸的基礎通道體系架構與核心分類按流向&#xff1a;輸入流&#xff08;InputStream/Read…

【軌物方案】當補貼退潮,光伏電站如何回歸價值本質?

中國光伏產業正站在一個歷史性的拐點。過去&#xff0c;國家補貼的“黃金時代”催生了裝機量的爆發式增長&#xff0c;許多電站在建設初期將重心放在了快速并網&#xff0c;卻忽視了貫穿2-30年生命周期的運維規劃。如今&#xff0c;補貼浪潮逐漸退去&#xff0c;各大企業開始從…

群暉Nas - Docker(ContainerManager)上安裝SVN Server和庫權限設置問題

上次安裝了Gitlab&#xff0c;可以參考這篇&#xff08;群暉Nas - Docker&#xff08;ContainerManager&#xff09;上安裝GitLab&#xff09;&#xff0c;今天來搞SVN服務器&#xff0c;廢話不多說。 下載鏡像 還是先下載鏡像&#xff08;garethflowers/svn-server&#xff…

前端打包自動壓縮為zip--archiver

安裝依賴 pnpm add archiver types/archiver/vitePlugins/autoBuildZip.ts import { Plugin } from vite; import archiver from archiver; import fs from fs;const compressFolder (folderPath: string, outputFilePath: string) > {const output fs.createWriteStream(…

React響應式組件范式:從類組件到Hooks

?引言 在UI開發中&#xff0c;"狀態變化自動觸發UI更新"的響應式機制是構建動態界面的核心。React通過獨特的??單向數據流??和??虛擬DOM&#xff08;Virtual DOM&#xff09;?? 實現這一目標&#xff0c;但類組件&#xff08;Class Components&#xff09;…

com2tcp工具

com2tcp 是 com0com 套件中的一個實用工具&#xff0c;用于將本地串口&#xff08;COM&#xff09;數據轉發到 TCP/IP 網絡&#xff0c;或者將 TCP/IP 數據轉發到本地串口&#xff0c;實現串口數據的網絡透傳。 1. com2tcp 基本用法 &#xff08;1&#xff09;安裝 com0com 從…

MySQL實操:將Word表格數據導入MySQL表

文章目錄 1. 提出任務1.1 Word表格數據1.2 查看商品空表1.3 任務要求2. 完成任務2.1 借助AI2.1.1 利用AI生成SQL語句2.1.2 在Navicat里執行查詢2.1.3 查看商品表記錄2.2 借助Excel2.2.1 將Word表格數據復制到Excel2.2.2 新建商品表2.2.3 利用導入向導將電子表格數據導入商品表2…

什么是Podman?能否替代Docker?Podman快速入門

什么是PodmanPodman&#xff08;POD Manager&#xff09;是一個開源的無守護進程&#xff08;daemonless&#xff09;容器引擎&#xff0c;用于管理容器、容器鏡像、容器卷和網絡。它兼容 OCI 標準&#xff0c;可以運行 Docker 鏡像&#xff0c;并且設計上與 Docker CLI 命令高…

開通保存圖片權限

直接粘貼就可以用 上干貨 可以的話希望點個start/* 小程序特有相關 */mp-weixin: {appid: VITE_WX_APPID,setting: {urlCheck: false,minified : true //是否壓縮js},usingComponents: true,"lazyCodeLoading": "requiredComponents", //按需注入"pe…

【趙渝強老師】大數據交換引擎Sqoop

Sqoop是SQL To Hadoop的簡稱&#xff0c;它是一款開源的工具&#xff0c;主要用于在Hadoop&#xff08;Hive&#xff09;與傳統的數據庫&#xff08;Oracle、MySQL等&#xff09;間進行數據的傳遞。通過使用Sqoop可以將一個關系型數據庫中的數據導進到Hadoop的HDFS中&#xff0…

C++進階-map的應用

目錄 1.預備知識 2.map的補充知識 2.1map的插入方式 2.2訪問鍵和值 2.3map::operator[]的補充 2.4另外一些map的成員函數的補充 3.map的應用實踐-力扣刷題-前k個高頻單詞 3.1解法1 3.2解法2 3.3解法3 4.map的應用實踐-力扣刷題-隨機鏈表的復制 4.1C語言解法 4.2C解…

【三維重建工具】NeRFStudio、3D GaussianSplatting、Colmap安裝與使用指南

目錄 一、NeRFStudio安裝1.安裝&#xff08;ubuntu系統&#xff09;2.安裝&#xff08;windows系統&#xff09; 二、安裝tinycudann三、Colmap安裝與使用1. 安裝依賴2. 安裝colmap3.使用colmap3.1 可視化界面使用3.2 Nerfstudio命令行調用Colmap3.3 colmap結果不準時的修復3.4…