2023-08-15 LeetCode每日一題(字符串中的查找與替換)

2023-08-15每日一題

一、題目編號

833. 字符串中的查找與替換

二、題目鏈接

點擊跳轉到題目位置

三、題目描述

你會得到一個字符串 s (索引從 0 開始),你必須對它執行 k 個替換操作。替換操作以三個長度均為 k 的并行數組給出:indices, sources, targets。

要完成第 i 個替換操作:

  1. 檢查 子字符串 sources[i] 是否出現在 原字符串 s 的索引 indices[i] 處。
  2. 如果沒有出現, 什么也不做 。
  3. 如果出現,則用 targets[i] 替換 該子字符串。

例如,如果 s = “abcd” , indices[i] = 0 , sources[i] = “ab”, targets[i] = “eee” ,那么替換的結果將是 “eeecd” 。

所有替換操作必須 同時 發生,這意味著替換操作不應該影響彼此的索引。測試用例保證元素間不會重疊 。

例如,一個 s = “abc” , indices = [0,1] , sources = [“ab”,“bc”] 的測試用例將不會生成,因為 “ab” 和 “bc” 替換重疊。
在對 s 執行所有替換操作后返回 結果字符串 。

子字符串 是字符串中連續的字符序列。

四、解題代碼

class Solution {
public:string findReplaceString(string s, vector<int>& indices, vector<string>& sources, vector<string>& targets) {int n = s.size(), m = indices.size();vector<int> ops(m);iota(ops.begin(), ops.end(), 0);sort(ops.begin(), ops.end(), [&](int i, int j) { return indices[i] < indices[j]; });string ans;int pt = 0;for (int i = 0; i < n;) {while (pt < m && indices[ops[pt]] < i) {++pt;}bool succeed = false;while (pt < m && indices[ops[pt]] == i) {if (s.substr(i, sources[ops[pt]].size()) == sources[ops[pt]]) {succeed = true;break;}++pt;}if (succeed) {ans += targets[ops[pt]];i += sources[ops[pt]].size();}else {ans += s[i];++i;}}return ans;}
};

五、解題思路

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

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

相關文章

UI設計師個人工作總結范文

UI設計師個人工作總結范文篇一 感受到了領導們“海納百川”的胸襟&#xff0c;感受到了作為廣告人“不經歷風雨&#xff0c;怎能見彩虹”的豪氣&#xff0c;也體會到了重慶廣告從業人員作為拓荒者的艱難和堅定(就目前國內廣告業而言&#xff0c;我認為重慶廣告業尚在發展階段并…

FreeRTOS(獨立看門狗監測任務執行與低功耗Tickless模式)

資料來源于硬件家園&#xff1a;資料匯總 - FreeRTOS實時操作系統課程(多任務管理) 目錄 一、獨立看門狗介紹 二、看門狗監測多任務執行思路 1、監測目標 2、監測方案 3、應用注意事項 三、看門狗監測多任務編程 1、STM32cubeMX配置 2、代碼編寫 四、低功耗Tickless模…

LeetCode 熱題 100 JavaScript--739. 每日溫度

給定一個整數數組 temperatures &#xff0c;表示每天的溫度&#xff0c;返回一個數組 answer &#xff0c;其中 answer[i] 是指對于第 i 天&#xff0c;下一個更高溫度出現在幾天后。如果氣溫在這之后都不會升高&#xff0c;請在該位置用 0 來代替。 示例 1: 輸入: temperat…

基于HTML+CSS+Echarts大屏數據可視化集合共99套

基于HTMLCSSEcharts大屏數據可視化集合共99套 一、介紹二、展示1.大數據展示系統2.物流訂單系統3.物流信息系統4.辦稅渠道監控平臺5.車輛綜合管控平臺 三、其他系統實現四、獲取源碼 一、介紹 基于HTML/CSS/Echarts的會議展覽、業務監控、風險預警、數據分析展示等多種展示需求…

c++--異常

1.什么是異常 對于C語言來說&#xff0c;處理錯誤的機制有&#xff1a; 1.終止程序&#xff1a;如assert&#xff0c;缺陷&#xff0c;如發生內存錯誤&#xff0c;除0之外發生程序終止&#xff0c;用戶無法接受。 2.返回錯誤碼&#xff1a;對于大型程序來說&#xff0c;需要…

docker搭建lnmp(nginx+mysql57+php7.4)

docker搭建lnmp(nginxmysql57php7.4) 1. 準備工作 docker安裝 $ sudo yum update $ sudo sudo yum install -y yum-utils device-mapper-persistent-data lvm2 $ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo $ sudo…

React 全棧體系(一)

第一章 React入門 一、React簡介 1. 是什么&#xff1f; 是一個將數據渲染為HTML視圖的開源JavaScript庫。 2. 誰開發的&#xff1f; 由Facebook開源 3. 為什么要學&#xff1f; 原生JavaScript操作DOM繁瑣&#xff0c;效率低&#xff08;DOM-API 操作 UI&#xff09; 使…

前端css進階

day04-CSS進階 目標&#xff1a;掌握復合選擇器作用和寫法&#xff1b;使用background屬性添加背景效果 01-復合選擇器 定義&#xff1a;由兩個或多個基礎選擇器&#xff0c;通過不同的方式組合而成。 作用&#xff1a;更準確、更高效的選擇目標元素&#xff08;標簽&#xf…

論文閱讀——Adversarial Eigen Attack on Black-Box Models

Adversarial Eigen Attack on Black-Box Models 作者&#xff1a;Linjun Zhou&#xff0c; Linjun Zhou 攻擊類別&#xff1a;黑盒&#xff08;基于梯度信息&#xff09;&#xff0c;白盒模型的預訓練模型可獲得&#xff0c;但訓練數據和微調預訓練模型的數據不可得&#xff…

操作格子---算法集

問題描述 有 n 個格子&#xff0c;從左到右放成一排&#xff0c;編號為 1-n。 共有 m 次操作&#xff0c;有 3 種操作類型&#xff1a; 1.修改一個格子的權值。 2.求連續一段格子權值和。 3.求連續一段格子的最大值。 對于每個 2、3 操作輸出你所求出的結果。 輸入格式 第一行 …

C++——list的簡要介紹

list的介紹 詳細請看&#xff08;https://cplusplus.com/reference/list/list/?kwlist&#xff09; 1.list是一個可以在常數范圍內在任意位置&#xff0c;進行插入和刪除的序列式容器&#xff0c;并且此容器可以前后雙向迭代。 2.list的底層實質是一個雙向鏈表結構&#xf…

jenkins 安裝和通過gitee 拉取PHP項目

#jenkins 安裝地址&#xff1a;https://pkg.jenkins.io/redhat-stable/sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key yum install fontconfig…

2023年國賽數學建模思路 - 復盤:光照強度計算的優化模型

文章目錄 0 賽題思路1 問題要求2 假設約定3 符號約定4 建立模型5 模型求解6 實現代碼 建模資料 0 賽題思路 &#xff08;賽題出來以后第一時間在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 問題要求 現在已知一個教室長為15米&#xff0c;寬為12米&…

Thymeleaf快速入門及其注意事項

&#x1f600;前言 本篇博文是關于Thymeleaf的基本介紹&#xff0c;希望你能夠喜歡&#x1f60a; &#x1f3e0;個人主頁&#xff1a;晨犀主頁 &#x1f9d1;個人簡介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以幫助到大家&#xff0c;您的滿意是我的…

Dev-C++

文章目錄 介紹使用教程常用快捷鍵文件部分格式部分行操作跳轉部分顯示部分運行部分調試部分 調試流程 擴展增加編譯選項開啟優化顯示最多警告信息生成調試信息 編譯小 trick開大棧定義宏代碼格式化 美化字體主題 介紹 Dev-C 是一套用于開發 C/C 程序的自由的集成開發環境&…

面向云思考安全

Gartner最近的一項研究表明&#xff0c;到 2025 年&#xff0c;85% 的企業會采用云戰略&#xff0c;雖然這一數字是面向全球的&#xff0c;但可以看到在中國的環境中&#xff0c;基于云所帶來的優勢&#xff0c;越來越多的企業也同樣開始積極向云轉型。 但同時&#xff0c;有報…

BBS項目day02、注冊、登錄(登錄之隨機驗證碼)、修改密碼、退出登錄、密碼加密加鹽

一、注冊 1.注冊之前端頁面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注冊頁面</title><!--動態引入文件-->{% load static %}<script src"{% static js/jquery.min.js %…

【springmvc系】利用RequestBodyAdviceAdapter做接口鑒權

需求 有個簡單的需求&#xff0c;對于第三方接口我們需要做個簡單的鑒權機制&#xff0c;這邊使用的是非對稱性加密的機制。我們提供三方公鑰&#xff0c;他們通過公鑰對接口json報文使用加密后的報文請求&#xff0c;我們通過對接收過來的請求某一個加密報文字段來進行RSA解密…

婚戀交友h5多端小程序開源版開發

婚戀交友h5多端小程序開源版開發 以下是婚戀交友H5多端小程序的功能列表&#xff1a; 用戶注冊和登錄&#xff1a;用戶可以通過手機號碼或第三方賬號注冊和登錄。個人信息填寫&#xff1a;用戶可以填寫個人基本信息&#xff0c;包括姓名、性別、年齡、身高、體重、學歷、職業等…

Java課題筆記~ 數據提交的方式

前四種數據注入的方式&#xff0c;會自動進行類型轉換。但無法自動轉換日期類型。 &#xff08;1&#xff09;單個數據&#xff08;基本數據類型&#xff09;注入 在方法中聲明一個和表單提交的參數名稱相同的參數&#xff0c;由框架按照名稱直接注入。 &#xff08;2&#x…