第 119 場 LeetCode 雙周賽題解

A 找到兩個數組中的公共元素

在這里插入圖片描述

模擬

class Solution {
public:vector<int> findIntersectionValues(vector<int> &nums1, vector<int> &nums2) {unordered_set<int> s1(nums1.begin(), nums1.end()), s2(nums2.begin(), nums2.end());vector<int> res(2);for (auto x: nums1)if (s2.count(x))res[0]++;for (auto x: nums2)if (s1.count(x))res[1]++;return res;}
};

B 消除相鄰近似相等字符

在這里插入圖片描述

動態規劃:設 p [ i ] [ j ] p[i][j] p[i][j] 為將 w o r d [ 0 , i ] word[0,i] word[0,i] 修改為末位為 j j j 的不含相鄰近似相等字符串的最少操作數,枚舉可能的 w o r d [ i ? 1 ] word[i-1] word[i?1] 進行狀態轉移

class Solution {
public:int removeAlmostEqualCharacters(string word) {int n = word.size();int p[n][26];for (int j = 0; j < 26; j++)p[0][j] = 1;p[0][word[0] - 'a'] = 0;for (int i = 1; i < n; i++)for (int j = 0; j < 26; j++) {p[i][j] = INT32_MAX;for (int pre = 0; pre < 26; pre++)if (abs(j - pre) > 1)p[i][j] = min(p[i][j], p[i - 1][pre] + (word[i] - 'a' == j ? 0 : 1));}int res = INT32_MAX;for (int j = 0; j < 26; j++)res = min(res, p[n - 1][j]);return res;}
};

C 最多 K 個重復元素的最長子數組

在這里插入圖片描述

滑動窗口+哈希:哈希表記錄滑動窗口內數的頻率,枚舉滑動窗口的左邊界,盡可能移動滑動窗口的右邊界

class Solution {
public:int maxSubarrayLength(vector<int> &nums, int k) {int n = nums.size();int res = 0;unordered_map<int, int> f;for (int l = 0, r = -1; l < n; f[nums[l++]]--) {while (r + 1 < n && f[nums[r + 1]] + 1 <= k)//滑窗左邊界固定時,盡可能移動右邊界f[nums[++r]]++;res = max(res, r - l + 1);}return res;}
};

D 關閉分部的可行集合數目

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

枚舉:枚舉可能的關閉分部集合,然后在當前關閉情況下跑多源最短路算法,然后判斷最大的最短路是否不超過 m a x D i s t a n c e maxDistance maxDistance

class Solution {
public:inline int get_bit(int mask, int loc) { return mask >> loc & 1; }//返回mask二進制表示的第loc位int pop_cnt(int mask) {//返回mask二進制表示中1的個數int res = 0;for (; mask; mask >>= 1)if (mask & 1)res++;return res;}int numberOfSets(int n, int maxDistance, vector<vector<int>> &roads) {int inf = INT32_MAX;vector<vector<int>> g(n, vector<int>(n, inf));for (auto &e: roads) {g[e[0]][e[1]] = min(g[e[0]][e[1]], e[2]);g[e[1]][e[0]] = g[e[0]][e[1]];}int res = 0;for (int mask = 0; mask < (1 << n); mask++) {//枚舉關閉分部集合:mask二進制中第i位為0表示第i個分部關閉auto t = g;for (int k = 0; k < n; k++)if (get_bit(mask, k))for (int i = 0; i < n; i++)if (get_bit(mask, i))for (int j = 0; j < n; j++)if (get_bit(mask, j))if (t[i][k] != inf && t[k][j] != inf)t[i][j] = min(t[i][j], t[i][k] + t[k][j]);int mx = 0;//最大的最短路for (int i = 0; i < n; i++)if (get_bit(mask, i))for (int j = 0; j < n; j++)if (j != i && get_bit(mask, j))mx = max(mx, t[i][j]);if (mx <= maxDistance)res++;}return res;}
};

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

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

相關文章

【基于大數據的人肥胖程度預測分析與可控策略】

基于大數據的人肥胖程度預測分析與可控策略 前言數據獲取與清洗數據挖掘與分類建模1. K-means聚類2. 層次聚類3. DBSCAN4. 分類建模 數據可視化模型肥胖程度預測分析與可控策略結語 前言 隨著現代生活方式的改變&#xff0c;肥胖問題逐漸成為全球性的健康挑戰。為了更好地理解…

實用篇 | 3D建模中Blender軟件的下載及使用[圖文詳情]

本文基于數字人系列的3D建模工具Blender軟件的安裝及使用&#xff0c;還介紹了圖片生成3D模型的AI工具~ 目錄 1.Blender的下載 2.Blender的使用 3.安裝插件(通過壓縮包安裝) 4.實例 4.1.Blender使用MB-Lab插件快速人體模型建構 4.1.1.點擊官網&#xff0c;進行下載 4.1.…

批量將圖片分別翻轉90、180、270度,并將對應的框標注的json文件也進行相應調整,做到數據增強的效果

#------------------------------------矩形標注增強--------------------------------------- from PIL import Image import os import jsondef rotate_images_and_jsons(input_folder):output_folder os.path.join(input_folder, "rotated_images")os.makedirs(o…

在JavaScript中,可以使用Object.assign()方法或展開語法(...)來合并對象

在JavaScript中&#xff0c;你可以使用Object.assign()方法或者使用Spread Operator (…) 來合并對象。 Object.assign() Object.assign() 靜態方法將一個或者多個源對象中所有可枚舉的自有屬性復制到目標對象&#xff0c;并返回修改后的目標對象。 語法 Object.assign(tar…

Java TCP(一對一)聊天簡易版

客戶端 import java.io.*; import java.net.Socket; import java.util.Date; import javax.swing.*;public class MyClient {private JFrame jf;private JButton jBsend;private JTextArea jTAcontent;private JTextField jText;private JLabel JLcontent;private Date data;p…

C語言 題目

1.寫一個函數算一個數的二進制(補碼)表示中有幾個1 #include<stdio.h>//統計二進制數中有幾個1 //如13:1101 //需要考慮負數情況 如-1 結果應該是32// n 1101 //n-1 1100 //n 1100 //n-1 1011 //n 1000 //n-1 0111 //n 0000 //看n的變化 int funca(int c){int co…

css:flex布局中子元素高度height沒有達到100%

目錄 問題flex布局示例解決辦法方式一方式二 參考 問題 css中使用flex布局中子元素高度height沒有達到100% flex布局示例 希望實現兩個盒子左右分布&#xff0c;內容垂直居中對齊 <style>.box {display: flex;align-items: center;border: 1px solid #eeeeee;}.box-l…

【ceph】ceph生產常見操作之一---ceph擴容以及注意事項

本站以分享各種運維經驗和運維所需要的技能為主 《python零基礎入門》&#xff1a;python零基礎入門學習 《python運維腳本》&#xff1a; python運維腳本實踐 《shell》&#xff1a;shell學習 《terraform》持續更新中&#xff1a;terraform_Aws學習零基礎入門到最佳實戰 《k8…

react新舊生命周期鉤子

以下的內容根據尚硅谷整理。 舊生命鉤子 輔助理解&#xff1a; 紅色框&#xff1a;掛載時生命鉤子藍色框&#xff1a;更新時生命鉤子綠色框&#xff1a;卸載時生命鉤子 掛載時 如圖所示&#xff0c;我們可以看到&#xff0c;在組件第一次掛載時會經歷&#xff1a; 構造器&a…

stateflow——如何查看狀態機中參數變化及狀態機斷點調試

法一&#xff1a;使用Data Inspector 點擊“符號圖窗”和“屬性”&#xff0c;如圖&#xff1b;在選擇變量n并右鍵點擊inspector&#xff0c;最后在logging&#xff0c;如圖 法二&#xff1a;log active state 和法一類似使用data inspector查看&#xff0c;類似的查看方法和…

【每周一測】Java階段四第三周學習

目錄 1、關于分布式鎖的說法&#xff0c;錯誤的是&#xff08; &#xff09; 2、JDK動態代理產生的代理類和委托類的關系是 3、下列關于ElasticSearch中基本概念描述錯誤的是 4、Spring Cloud 中&#xff0c;Feign 是什么&#xff1f; 5、在JavaScript中&#xff0c;可以使…

玩轉大數據13: 數據倫理與合規性探討

1. 引言 隨著科技的飛速發展&#xff0c;數據已經成為了現代社會的寶貴資產。然而&#xff0c;數據的收集、處理和利用也帶來了一系列的倫理和合規性問題。數據倫理和合規性不僅關乎個人隱私和權益的保護&#xff0c;還涉及到企業的商業利益和社會責任。因此&#xff0c;數據…

韻達快遞單號查詢,以表格的形式導出單號的每一條物流信息

批量查詢韻達快遞單號的物流信息&#xff0c;并以表格的形式導出單號的每一條物流信息。 所需工具&#xff1a; 一個【快遞批量查詢高手】軟件 韻達快遞單號若干 操作步驟&#xff1a; 步驟1&#xff1a;運行【快遞批量查詢高手】軟件&#xff0c;第一次使用的伙伴記得先注冊…

SOP(標準作業程序)和WI(操作指導書)的聯系和區別

目錄 1.SOP&#xff08;標準作業程序&#xff09;&#xff1a;2.WI&#xff08;操作指導書&#xff09;&#xff1a;3.SOP和WI的區別&#xff1a; 1.SOP&#xff08;標準作業程序&#xff09;&#xff1a; SOP: 所謂SOP&#xff0c;是 Standard Operation Procedure三個單詞中…

【計算機網絡實驗】實驗三 IP網絡規劃與路由設計(頭歌)

目錄 一、知識點 二、實驗任務 三、頭歌測試 一、知識點 IP子網掩碼的兩種表示方法 32位IP子網掩碼&#xff0c;特點是從高位開始連續都是1&#xff0c;后面是連續的0&#xff0c;它有以下兩種表示方法&#xff1a; 傳統表示法&#xff0c;如&#xff1a;255.255.255.0IP前…

【WebSocket】使用ws搭建一個簡單的在線聊天室

前言 什么是WebSockets&#xff1f; WebSockets 是一種先進的技術。它可以在用戶的瀏覽器和服務器之間打開交互式通信會話。使用此 API&#xff0c;你可以向服務器發送消息并接收事件驅動的響應&#xff0c;而無需通過輪詢服務器的方式以獲得響應。 webscokets 包括webscoket…

中科院分區和JCR分區有什么區別

文章目錄 名詞解釋學科劃分不同參考的影響因子不同期刊分區不同期刊分區閾值不同 名詞解釋 中科院分區&#xff1a;又稱“中科院JCR分區”&#xff0c;是中國科學院文獻情報中心世界科學前沿分析中心的科學研究成果&#xff0c;期刊分區表數據每年底&#xff08;每年12月中下旬…

汽車繼電器

汽車繼電器 電子元器件百科 文章目錄 汽車繼電器前言一、汽車繼電器是什么二、汽車繼電器的類別三、汽車繼電器的應用實例四、汽車繼電器的作用原理總結前言 汽車繼電器作為一種電子設備,廣泛應用于汽車電路中的各種控制和保護任務,能夠可靠地控制和傳送電能,確保汽車系統的…

Python爬蟲-實現批量抓取王者榮耀皮膚圖片并保存到本地

前言 本文是該專欄的第12篇,后面會持續分享python爬蟲案例干貨,記得關注。 本文以王者榮耀的英雄皮膚為例,用python實現批量抓取“全部英雄”的皮膚圖片,并將圖片“批量保存”到本地。具體實現思路和詳細邏輯,筆者將在正文結合完整代碼進行詳細介紹。注意,這里抓取的圖片…

低代碼:美味膳食或垃圾食品

低代碼開發是近年來迅速崛起的軟件開發方法&#xff0c;讓編寫應用程序變得更快、更簡單。有人說它是美味的膳食&#xff0c;讓開發過程高效而滿足&#xff0c;但也有人質疑它是垃圾食品&#xff0c;缺乏定制性與深度。你認為低代碼到底是美味的膳食還是垃圾食品呢&#xff0c;…