LeetCode 2825.循環增長使字符串子序列等于另一個字符串

給你一個下標從 0 開始的字符串 str1 和 str2 。

一次操作中,你選擇 str1 中的若干下標。對于選中的每一個下標 i ,你將 str1[i] 循環 遞增,變成下一個字符。也就是說 ‘a’ 變成 ‘b’ ,‘b’ 變成 ‘c’ ,以此類推,‘z’ 變成 ‘a’ 。

如果執行以上操作 至多一次 ,可以讓 str2 成為 str1 的子序列,請你返回 true ,否則返回 false 。

注意:一個字符串的子序列指的是從原字符串中刪除一些(可以一個字符也不刪)字符后,剩下字符按照原本先后順序組成的新字符串。

示例 1:

輸入:str1 = “abc”, str2 = “ad”
輸出:true
解釋:選擇 str1 中的下標 2 。
將 str1[2] 循環遞增,得到 ‘d’ 。
因此,str1 變成 “abd” 且 str2 現在是一個子序列。所以返回 true 。
示例 2:

輸入:str1 = “zc”, str2 = “ad”
輸出:true
解釋:選擇 str1 中的下標 0 和 1 。
將 str1[0] 循環遞增得到 ‘a’ 。
將 str1[1] 循環遞增得到 ‘d’ 。
因此,str1 變成 “ad” 且 str2 現在是一個子序列。所以返回 true 。
示例 3:

輸入:str1 = “ab”, str2 = “d”
輸出:false
解釋:這個例子中,沒法在執行一次操作的前提下,將 str2 變為 str1 的子序列。
所以返回 false 。

提示:

1 <= str1.length <= 105^55
1 <= str2.length <= 105^55
str1 和 str2 只包含小寫英文字母。

雙序列雙指針,看兩指針指向的字符是否相同,或是否可以通過循環增長變為另一個字符,如果否,則跳過str1中字符,看最后str2中的字符是否都遍歷完:

class Solution {
public:bool canMakeSubsequence(string str1, string str2) {int idx1 = 0;int idx2 = 0;while (idx1 < str1.size() && idx2 < str2.size()) {if (str1[idx1] == str2[idx2] || char('a' + (str1[idx1] - 'a' + 1) % 26) == str2[idx2]) {++idx2;}++idx1;}return idx2 == str2.size();}
};

如果str1的長度為n,則此算法時間復雜度為O(n),空間復雜度為O(1)。

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

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

相關文章

【無人機】1.編譯betaflight和cleanflight的固件

在2023年&#xff0c;betaflight騰飛&#xff0c;而cleanflight已經結束更新&#xff0c;但是用cleanflight的原因是因為他最后版本支持stm32f103系列。不用betaflight因為手頭還沒有f405和f411&#xff0c;只有一個不支持的f407和f401&#xff0c;所以。。接下來開始步驟&…

刻意練習理論

刻意練習理論 一、理論概述 刻意練習&#xff08;Deliberate Practice&#xff09;是由心理學家安德斯艾利克森&#xff08;Anders Ericsson&#xff09;提出的一種系統化學習方法&#xff0c;核心觀點是卓越并非源于天賦&#xff0c;而是通過針對性訓練獲得。其理論基礎來自對…

【FastDDS】Layer DDS之Domain ( 04-DomainParticipantFactory)

Fast DDS 域參與者工廠&#xff08;DomainParticipantFactory&#xff09;詳解 一、域參與者工廠&#xff08;DomainParticipantFactory&#xff09;基礎定義 域參與者工廠&#xff08;DomainParticipantFactory&#xff09;的唯一作用是實現域參與者&#xff08;DomainPartici…

樹莓集團建數字產業學院:產教融合強化成渝人才鏈與產業鏈銜接

成渝地區雙城經濟圈建設是國家重大發展戰略&#xff0c;而人才鏈與產業鏈的有效銜接&#xff0c;是推動成渝地區產業高質量發展的關鍵。樹莓集團順應時代發展需求&#xff0c;搭建數字產業學院&#xff0c;以產教融合為紐帶&#xff0c;不斷強化成渝人才鏈與產業鏈的銜接&#…

在 ASP.NET 8 WebAPI 中使用不同的提供程序驗證多個令牌(Token)及常見問題解答

介紹作為 ASP.NET 框架的最新版本&#xff0c;ASP.NET 8提供了強大的功能&#xff0c;可用于構建安全且可擴展的 Web API。API 開發的一個關鍵方面是身份驗證&#xff0c;它確保只有授權用戶或服務才能訪問受保護的資源。在本文中&#xff0c;我們將探討如何在 ASP.NET 8 API 中…

工業相機為啥丟包?黑條 / 撕裂的原因 + 解決辦法,一看就懂

工業相機為啥丟包&#xff1f;黑條/撕裂的原因解決辦法&#xff0c;一看就懂 工業相機拍圖時出現黑條、撕裂、花屏&#xff0c;別急著換設備——大概率是“數據丟包”在搞鬼。尤其是高頻率、高分辨率采圖時&#xff0c;數據傳輸稍出問題&#xff0c;圖像就會出故障。今天用“快…

【IQA技術專題】NIQE代碼講解

本文是對NIQE圖像質量評價指標的代碼解讀&#xff0c;原文解讀請看NIQE文章講解。 本文的代碼來源于IQA-Pytorch工程。 1、原文概要 NIQE實現了無參考的圖像質量評價指標&#xff0c;可以有效地對圖像的感知&#xff08;Fidelity&#xff09;質量進行評估。本文提出了一種完全…

配置時鐘分頻與倍頻

在STM32微控制器中&#xff0c;“配置時鐘分頻與倍頻”是一個關鍵步驟&#xff0c;它允許開發者根據應用需求調整系統時鐘的頻率。以下是對這一概念的詳細解釋&#xff1a;時鐘源與基礎頻率時鐘源&#xff1a;STM32微控制器通常支持多種時鐘源&#xff0c;如高速外部時鐘&#…

【深度學習新浪潮】視覺大模型在預訓練方面有哪些關鍵進展?

近年來,視覺大模型在預訓練領域取得了多項突破性進展,涵蓋架構設計、多模態融合、數據利用效率及訓練策略等多個維度。以下結合2024-2025年最新研究成果,從技術創新和應用突破兩方面展開分析: 一、架構創新:突破分辨率與模態限制 超高分辨率預訓練 伯克利與英偉達提出的P…

Elasticsearch原理篇

Elasticsearch原理篇寫在前面&#xff1a;用之于手&#xff0c;先明于心一、傳統數據庫的瓶頸&#xff1a;當數據量成為負擔1. 千萬級數據下的性能衰減2. 分頁查詢的“深水陷阱”3. 關聯查詢的擴展難題4. 全文檢索能力薄弱二、Elasticsearch 的優勢&#xff1a;為搜索而生的分布…

《我是如何用C語言寫工控系統的漏洞和Bug》連載(1)內容大綱

第一部分&#xff1a;導論與基礎 第1章 引言 1.1 工控系統的獨特性和重要性 實時性、可靠性、長生命周期的要求與IT系統的差異&#xff1a;后果不再是信息泄露&#xff0c;而是物理世界的中斷與破壞 1.2 為什么C語言依然是工控領域的主流&#xff1f; 性能、底層硬件操作、歷史…

.Net程序員就業現狀以及學習路線圖(三)

一、.Net程序員就業現狀分析 1. 市場需求與薪資水平 ?市場需求兩極分化?&#xff1a;2025年數據顯示&#xff0c;.Net開發崗位全國占比約0.009%&#xff0c;主要集中在深圳、上海等一線城市 2 3。高端崗位&#xff08;云原生/AI集成方向&#xff09;年薪可達36-60萬&#xff…

云計算學習100天-第40天 -普羅米修斯1

目錄 Prometheus 概述—— 安裝prometheus 案例 環境說明 實驗步驟 一、prometheus服務器配置時間同步 二、安裝Prometheus服務器 配置文件說明 三、編寫服務啟動文件并啟動服務 四、訪問web頁面 Prometheus 概述—— Prometheus是一個開源系統監控和警報工具包&a…

高效文本處理:cut、sort、uniq 和 tr 命令詳解與實戰

前言 &#x1f52a; 一、cut —— 按列或字符截取 常用選項&#xff1a; 示例&#xff1a; &#x1f504; 二、sort —— 排序&#xff08;默認按行首字符升序&#xff09; 常用選項&#xff1a; 示例&#xff1a; &#x1f9fc; 三、uniq —— 去除連續重復行 常用選項…

時序數據庫選型指南:Apache IoTDB為何成為工業物聯網首選?

引言&#xff1a;時序數據管理的時代挑戰 隨著工業4.0和物聯網技術的快速發展&#xff0c;全球時序數據呈現爆炸式增長。據IDC預測&#xff0c;到2025年&#xff0c;全球物聯網設備產生的數據量將達到79.4ZB&#xff0c;其中超過60%為時序數據。這類數據具有顯著特征&#xff…

Ubuntu查看開機以來修改的文件

獲取本次開機時間 uptime -s獲取開機時間之后修改的文件 find /home -type f -newermt "2025-09-03 18:10:12"解讀&#xff1a;-type f意為只查找類型為“普通文件”&#xff08;file&#xff09;&#xff0c;不包括目錄、鏈接等。newermt 代表“修改時間比指定時間新…

差分隱私在運營指標:ABP 的 DP 計數器與噪聲預算

&#x1f6a6; 差分隱私在運營指標&#xff1a;ABP 的 DP 計數器與噪聲預算 &#x1f4da; 目錄&#x1f6a6; 差分隱私在運營指標&#xff1a;ABP 的 DP 計數器與噪聲預算0. TL;DR &#x1f680;&#x1f4c8; 一圖看懂&#xff08;寫入→發布→預算→加噪&#xff09;1. 背景…

洛谷 P1077 [NOIP 2012 普及組] 擺花-普及-

P1077 [NOIP 2012 普及組] 擺花 題目描述 小明的花店新開張&#xff0c;為了吸引顧客&#xff0c;他想在花店的門口擺上一排花&#xff0c;共 mmm 盆。通過調查顧客的喜好&#xff0c;小明列出了顧客最喜歡的 nnn 種花&#xff0c;從 111 到 nnn 標號。為了在門口展出更多種花&…

時序數據庫選型指南:為何Apache IoTDB成為工業物聯網首選

引言&#xff1a;時序數據管理的挑戰與機遇 在工業4.0與物聯網技術深度融合的今天&#xff0c;全球設備產生的時序數據量正以指數級增長。據IDC預測&#xff0c;到2025年物聯網設備產生的數據將達79.4ZB&#xff0c;其中60%為時序數據。這類數據具有高頻采集&#xff08;毫秒級…

【C++】C++入門—(中)

前言&#xff1a;上一篇文章我們介紹了C入門的一些基礎的語法&#xff0c;將了命名空間&#xff0c;缺省參數等。這篇文章我們就來介紹剩余的語法。 文章目錄一&#xff0c;函數重載二&#xff0c;引用2.1引用的概念和定義2.2引用的特性2.3引用的引用場景2.3.1做函數形參&#…