7.17 滑動窗口 | assign

?

?

lc3015.

法1:暴力bfs,數據范圍only 100,可以過

?

法2:加入了x,y,可以思考加入的x,y影響了什么呢? 通過數學找規律

class Solution {
public:
vector<int> countOfPairs(int n, int x, int y) {
vector<int> ret(n, 0);
for (int i = 1; i <= n; ++i) {
for (int j = i + 1; j <= n; ++j) {
// 計算三種可能路徑的最短距離
int direct = j - i;?
? int viaX = abs(i - x) + 1 + abs(j - y);?
int viaY = abs(i - y) + 1 + abs(j - x);?

int minDist = min({direct, viaX, viaY});
ret[minDist - 1] += 2;
}
}
return ret;
}
};

?

assign

assign? 是容器(比如 vector)的一個接口

作用:清空容器原來的內容,然后放入新的元素。

打個比方,就像你有一個盒子,?assign(n, false)? 就相當于:

  • - 先把盒子里原來的東西全倒掉
  • - 再往盒子里放 ?n? 個 ?false?

這樣能確保容器里的內容是全新的,不會有之前殘留的數據,避免出錯。

?

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/news/914725.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/914725.shtml
英文地址,請注明出處:http://en.pswp.cn/news/914725.shtml

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

相關文章

預訓練模型:大規模數據預學習范式——定義、原理與演進邏輯

本文由「大千AI助手」原創發布&#xff0c;專注用真話講AI&#xff0c;回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我&#xff0c;一起撕掉過度包裝&#xff0c;學習真實的AI技術&#xff01; 以下基于權威教材、學術論文及行業技術報告&#xff0c;對“預訓練模型…

【kubernetes】--安全認證機制

文章目錄安全認證1. **身份認證&#xff08;Authentication&#xff09;**2. **授權&#xff08;Authorization&#xff09;**3. **準入控制&#xff08;Admission Control&#xff09;**4. **機密信息管理**5. **其他安全實踐**安全認證 Kubernetes 的安全機制覆蓋了從身份驗…

扣子工作流詳解

《扣子開發AI Agent智能體應用&#xff08;人工智能技術叢書&#xff09;》(宋立桓&#xff0c;王東健&#xff0c;陳銘毅&#xff0c;程東升)【摘要 書評 試讀】- 京東圖書 《扣子開發AI Agent智能體應用》案例重現 開發agent智能體的書籍-CSDN博客 工作流是指一系列相互關聯…

【一文解決】塊級元素,行內元素,行內塊元素

塊級元素&#xff0c;行內元素&#xff0c;行內塊元素&#xff01;盒模型1.標準盒模型&#xff08;box-sizing: content-box&#xff09;2.IE 盒模型&#xff08;box-sizing: border-box&#xff09;&#xff01;margin & padding1.margin、padding是什么2. 應用一、塊級元…

在 Spring Boot 中使用 MyBatis 的 XML 文件編寫 SQL 語句詳解

前言 在現代 Java Web 開發中&#xff0c;Spring Boot 和 MyBatis 是兩個非常流行的技術框架。它們的結合使得數據庫操作變得更加簡潔和高效。本文將詳細介紹如何在 Spring Boot 項目中使用 MyBatis 的 XML 文件來編寫 SQL 語句&#xff0c;包括配置、代碼結構、SQL 編寫技巧以…

字段級權限控制場景中,RBAC與ABAC的性能差異

RBAC(基于角色訪問控制)與ABAC(基于屬性訪問控制)的性能差異主要體現在??計算復雜度、策略靈活性、擴展性??和??資源消耗??等方面。以下是具體對比分析: ??一、性能對比維度?? ??維度????RBAC????ABAC????計算復雜度??低(預計算角色權限映射…

Reddit Karma是什么?Post Karma和Comment Karma的提升指南

在Reddit這一用戶活躍度高的社區里&#xff0c;想要獲得更好的曝光&#xff0c;我們就需要提升我們的Karma值&#xff0c;什么是Reddit Karma&#xff1f;怎么樣才能提升以獲得更大的影響力&#xff1f;本文將為你提高一套切實可行的提升方案。一、什么是Reddit Karma&#xff…

基于Canal實現MySQL數據庫數據同步

一、基礎概念與原理 1. Canal是什么&#xff1f; 阿里巴巴開源的MySQL binlog增量訂閱與消費組件&#xff0c;通過偽裝為MySQL Slave監聽Master的binlog變更&#xff0c;實現實時數據同步。 Canal 官方網站&#xff1a;https://github.com/alibaba/canal Canal Demo&#x…

算法第23天|貪心算法:基礎理論、分發餅干、擺動序列、最大子序和

今日總結&#xff1a; 擺動序列的三種特殊情況需要著重思考&#xff0c;感覺是沒有思考清楚 基礎理論 1、貪心的本質&#xff1a; 貪心的本質是選擇每一階段的局部最優&#xff0c;從而達到全局最優。 例如&#xff1a;一堆鈔票&#xff0c;只能拿走10張&#xff0c;如何拿走最…

Q-chunking——帶有動作分塊的強化學習:基于人類演示,進行一定的連貫探索(且可做到無偏的n步價值回溯)

前言 我在之前的文章中提到過多次&#xff0c;長沙具身團隊是我司建設的第二支具身團隊&#xff0c;通過5月份的全力招聘&#xff0c;為了沖刺6月底和7月初來長沙辦公室考察的第一批客戶&#xff0c;過去一個多月來&#xff0c;長沙分部(一開始就5人&#xff0c;另外5人 實習…

NW956NW961美光固態閃存NW964NW968

美光固態閃存深度解析&#xff1a;NW956、NW961、NW964與NW968的全方位評測一、產品概述與市場定位在當今數據爆炸的時代&#xff0c;固態硬盤&#xff08;SSD&#xff09;作為存儲領域的佼佼者&#xff0c;其性能與穩定性成為了用戶關注的焦點。美光&#xff08;Micron&#x…

C++修煉:IO流

Hello大家好&#xff01;很高興我們又見面啦&#xff01;給生活添點passion&#xff0c;開始今天的編程之路&#xff01; 我的博客&#xff1a;<但凡. 我的專欄&#xff1a;《編程之路》、《數據結構與算法之美》、《C修煉之路》、《Linux修煉&#xff1a;終端之內 洞悉真理…

語音識別的速度革命:從 Whisper 到 Whisper-CTranslate2,我經歷了什么?

Whisper-CTranslate2&#xff1a;語音識別的速度革命 大家好&#xff0c;一個沉迷于 AI 語音技術的 “音頻獵人”。最近在處理大量播客轉錄項目時&#xff0c;我被傳統語音識別工具折磨得苦不堪言 ——RTX 3090 跑一個小時的音頻要整整 20 分鐘&#xff0c;服務器內存分分鐘爆滿…

JVM 內存模型詳解:GC 是如何拯救內存世界的?

JVM 內存模型詳解&#xff1a;GC 是如何拯救內存世界的&#xff1f; 引言 Java 虛擬機&#xff08;JVM&#xff09;是 Java 程序運行的基礎&#xff0c;其核心特性之一就是自動內存管理。與 C/C 不同&#xff0c;Java 開發者無需手動分配和釋放內存&#xff0c;而是由 JVM 自動…

分布式全局唯一ID生成:雪花算法 vs Redis Increment,怎么選?

在黑馬點評項目實戰中&#xff0c;關于全局唯一ID生成的實現方案選擇中&#xff0c;我看到有人提到了雪花算法&#xff0c;本文就來簡單了解一下雪花算法與Redis的incr方案的不同。在分布式系統開發中&#xff0c;“全局唯一ID”是繞不開的核心問題。無論是分庫分表的數據庫設計…

(新手友好)MySQL學習筆記(完):事務和鎖

事務和鎖事務transaction&#xff0c;一組原子性的SQL查詢&#xff0c;或者說是一個獨立的工作單元。如果能夠成功執行這組查詢的全部語句&#xff0c;就會執行這組查詢&#xff1b;如果其中任何一條語句無法成功執行&#xff0c;那么這組查詢的所有語句都不會執行。也就是說&a…

【CMake】使用 CMake 將單模塊 C 項目構建為庫并鏈接主程序

目錄1. 項目結構設計&#x1f4e6; 結構說明2. 項目文件內容2.1 頂層 CMakeLists.txt2.2 模塊 src/color/CMakeLists.txt ?【推薦寫法】?是否需要寫 project()&#xff1f;2.3 模塊頭文件 include/color.h2.4 模塊實現文件 src/color/color.c2.5 主程序 src/main.c3. 構建與運…

從零開始的云計算生活——番外4,使用 Keepalived 實現 MySQL 高可用

目錄 前言 一、架構原理? ?Keepalived 作用? ?MySQL 主從復制? 二、環境準備? 服務器要求?&#xff1a; 安裝基礎軟件? 三、配置 MySQL 主從復制 四、配置 Keepalived 主節點配置?&#xff08;/etc/keepalived/keepalived.conf&#xff09; 從節點配置 五、…

list類的常用接口實現及迭代器

目錄 1. list類的介紹 2.list類的常用接口 2.1 list類的常用構造 2.2 list類對象的容量操作 2.3 list迭代器 2.4 list類的常用操作 3.list的模擬實現 1. list類的介紹 list代表的是雙向鏈表&#xff0c;常見的有創建&#xff0c;增&#xff0c;刪&#xff0c;改幾個接口…

vscode Cline接入火山引擎的Deepseek R1

創建火山引擎Deepseek R1的API 在火山引擎管理控制臺中創建Deepseek R1推理接入點&#xff08;大模型&#xff09;&#xff0c;創建成功后會看到下圖效果。在操作中選擇API調用&#xff0c;在頁面中選擇OpenAI SDK&#xff0c;按照步驟找到baseUrl地址和API_KEY&#xff0c;后續…