leetcode 3083. 字符串及其反轉中是否存在同一子字符串 簡單

給你一個字符串?s?,請你判斷字符串?s?是否存在一個長度為?2?的子字符串,在其反轉后的字符串中也出現。

如果存在這樣的子字符串,返回?true;如果不存在,返回?false?。

示例 1:

輸入:s = "leetcode"

輸出:true

解釋:子字符串?"ee"?的長度為?2,它也出現在?reverse(s) == "edocteel"?中。

示例 2:

輸入:s = "abcba"

輸出:true

解釋:所有長度為?2?的子字符串?"ab""bc""cb""ba"?也都出現在?reverse(s) == "abcba"?中。

示例 3:

輸入:s = "abcd"

輸出:false

解釋:字符串?s?中不存在滿足「在其反轉后的字符串中也出現」且長度為?2?的子字符串。

提示:

  • 1 <= s.length <= 100
  • 字符串?s?僅由小寫英文字母組成。

分析:將所有的兩位子串視為一個26進制的數,存在哈希表中。之后反向遍歷整個字符串,同樣將每2位字符轉為26進制的數,判斷是否在哈希表中出現過即可。

bool isSubstringPresent(char* s) {int l=strlen(s);if(l==1)return false;int temp=(s[0]-'a')*26+s[1]-'a',index=2;int num[10000]={0};num[temp]=1;while(index<l)temp=(temp%26)*26+s[index]-'a',num[temp]=1,index++;int xx=(s[l-1]-'a')*26+s[l-2]-'a';index=l-3;do{if(num[xx]==1)return true;if(index>=0){xx=(xx%26)*26+s[index]-'a',index--;}}while(index>=0);if(num[xx]==1)return true;return false;
}

?題解給出的位運算方法。本質上用一個32位整數的位關系來表示相鄰字符。由于只關心字符之間的順序關系,大小只需要26即可。

bool isSubstringPresent(char* s) {int h[26] = {0};int len = strlen(s);for (int i = 0; i + 1 < len; i++) {int x = s[i] - 'a';int y = s[i + 1] - 'a';h[x] |= (1 << y);if ((h[y] >> x) & 1) {return true;}}return false;
}//作者:力扣官方題解
//鏈接:https://leetcode.cn/problems/existence-of-a-substring-in-a-string-and-its-reverse/solutions/3016932/zi-fu-chuan-ji-qi-fan-zhuan-zhong-shi-fo-ra8p/
//來源:力扣(LeetCode)
//著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

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

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

相關文章

TCP-UDP調試工具推薦:Socket通信測試教程(附詳細圖解)

前言 在網絡編程與應用開發中&#xff0c;調試始終是一項不可忽視的重要環節。尤其是在涉及TCP/IP、UDP等底層網絡通信協議時&#xff0c;如何確保數據能夠準確無誤地在不同節點間傳輸&#xff0c;是許多開發者關注的核心問題。 調試的難點不僅在于定位連接建立、數據流控制及…

Vue.js框架:在線教育系統的安全性與穩定性

2.1系統開發使用的關鍵技術 本系統在開發中選擇B/S框架進行設計&#xff0c;語言采用Java&#xff0c;數據庫采用Mysql&#xff0c;并在設計中加入VUE.js技術&#xff0c;本系統的運行環境為Idea。 2.2 VUE.js技術介紹 VUE.js是一個用來開發前臺界面的JavaScript框架&#xff0…

【新方法】通過清華鏡像源加速 PyTorch GPU 2.5安裝及 CUDA 版本選擇指南

下面詳細介紹所提到的兩條命令&#xff0c;它們的作用及如何在你的 Python 環境中加速 PyTorch 等庫的安裝。 1. 設置清華鏡像源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple這條命令的作用是將 pip &#xff08;Python 的包管理工具&#xf…

【數據結構】單鏈表的使用

單鏈表的使用 1、基本概念2、鏈表的分類3、鏈表的基本操作a、單鏈表節點設計b、單鏈表初始化c、單鏈表增刪節點**節點頭插&#xff1a;****節點尾插&#xff1a;****新節點插入指定節點后&#xff1a;**節點刪除&#xff1a; d、單鏈表修改節點e、單鏈表遍歷&#xff0c;并打印…

虛幻引擎是什么?

Unreal Engine&#xff0c;是一款由Epic Games開發的游戲引擎。該引擎主要是為了開發第一人稱射擊游戲而設計&#xff0c;但現在已經被成功地應用于開發模擬游戲、恐怖游戲、角色扮演游戲等多種不同類型的游戲。虛幻引擎除了被用于開發游戲&#xff0c;現在也用于電影的虛擬制片…

Linux(Centos 7.6)yum源配置

yum是rpm包的管理工具&#xff0c;可以自動安裝、升級、刪除軟件包的功能&#xff0c;可以自動解決軟件包之間的依賴關系&#xff0c;使得用戶更方便軟件包的管理。要使用yum必須要進行配置&#xff0c;個人將其分為三類&#xff0c;本地yum源、局域網yum源、第三方yum源&#…

Linux上更新jar包里的某個class文件

目標&#xff1a;替換voice-1.0.jar里的TrackHandler.class文件 一.查詢jar包里TrackHandler.class所在的路徑 jar -tvf voice-1.0.jar |grep TrackHandler 二.解壓出TrackHandler.class文件 jar -xvf voice-1.0.jar BOOT-INF/classes/com/yf/rj/handler/TrackHandler.cla…

機器學習中回歸預測模型中常用四個評價指標MBE、MAE、RMSE、R2解釋

在機器學習中&#xff0c;評估模型性能時常用的四個指標包括平均絕對誤差&#xff08;Mean Absolute Error, MAE&#xff09;、均方誤差&#xff08;Mean Squared Error, MSE&#xff09;、均方根誤差&#xff08;Root Mean Squared Error, RMSE&#xff09;和決定系數&#xf…

基于SpringBoot的Jwt認證以及密碼aes加密解密技術

目錄 前言 1.SpringBoot項目的創建 2.相關技術 3.項目架構 4.項目關鍵代碼 5.項目最終的運行效果 ?編輯 6.PostMan測試接口結果 前言 學習了SpringBoot之后&#xff0c;才覺得SpringBoot真的很方便&#xff0c;相比傳統的SSH&#xff0c;SSM&#xff0c;SpringBo…

uniapp下載打開實現方案,支持安卓ios和h5,下載文件到指定目錄,安卓文件管理內可查看到

uniapp下載&打開實現方案&#xff0c;支持安卓ios和h5 Android&#xff1a; 1、申請本地存儲讀寫權限 2、創建文件夾&#xff08;文件夾不存在即創建&#xff09; 3、下載文件 ios&#xff1a; 1、下載文件 2、保存到本地&#xff0c;需要打開文件點擊儲存 使用方法&…

77、將adaface的mtcnn模型npy文件轉成atlas310p模型,并進行推理

基本思想:將adaface的mtcnn模型npy文件轉成atlas310p模型進行推理。同時比對結果 ubuntu@ubuntu:~$ git clone https://github.com/mk-minchul/AdaFace.git Cloning into AdaFace... remote: Enumerating objects: 236, done. remote: Counting objects: 100% (109/109), don…

Spark SQL DML語句

【圖書介紹】《Spark SQL大數據分析快速上手》-CSDN博客 《Spark SQL大數據分析快速上手》【摘要 書評 試讀】- 京東圖書 Spark本地模式安裝_spark3.2.2本地模式安裝-CSDN博客 DML&#xff08;Data Manipulation Language&#xff0c;數據操作語言&#xff09;操作主要用來對…

農歷節日倒計時:基于Python的公歷與農歷日期轉換及節日查詢小程序

農歷節日倒計時&#xff1a;基于Python的公歷與農歷日期轉換及節日查詢小程序 摘要 又是一年春節即將到來&#xff0c;突然想基于Python編寫一個農歷節日的倒計時小程序。該程序能夠根據用戶輸入的農歷節日名稱&#xff0c;計算出距離該節日還有多少天。通過使用lunardate庫進…

線性直流電流

電阻網絡的等效 等效是指被化簡的電阻網絡與等效電阻具有相同的 u-i 關系 (即端口方程)&#xff0c;從而用等效電阻代替電阻網絡之后&#xff0c;不 改變其余部分的電壓和電流。 串聯等效&#xff1a; 并聯等效&#xff1a; 星角變換 若這兩個三端網絡是等效的&#xff0c;從任…

CDN(Content Delivery Network,內容分發網絡)

CDN&#xff08;Content Delivery Network&#xff0c;內容分發網絡&#xff09;是一種通過在網絡中部署分布式的服務器集群&#xff0c;將網站內容分發到最接近用戶的服務器節點&#xff0c;以提高用戶訪問速度和穩定性的重要網絡基礎設施。CDN的核心思想是讓用戶就近獲取所需…

B站推薦模型數據流的一致性架構

01 背景 推薦系統的模型&#xff0c;通過學習用戶歷史行為來達到個性化精準推薦的目的&#xff0c;因此模型訓練依賴的樣本數據&#xff0c;需要包括用戶特征、服務端推薦的視頻特征&#xff0c;以及用戶在推薦視頻上是否有一系列的消費行為。 推薦模型數據流&#xff0c;即為…

【LeetCode】839、相似字符串組

【LeetCode】839、相似字符串組 文章目錄 一、并查集1.1 并查集 二、多語言解法 一、并查集 1.1 并查集 求共有幾組, 聯想到并查集, 即并查集有幾個集合 字符串相似: 相差0個字符, 或2個字符 其中所有字符串長度都相同, 是比較方便處理的 // go var sets int var father […

你不需要對其他成年人的情緒負責

在這個紛繁復雜的世界里&#xff0c;每個人都是獨一無二的個體&#xff0c;背負著各自的故事、夢想與煩惱。在人際交往的廣闊舞臺上&#xff0c;我們時常會遇到這樣的情境&#xff1a;朋友、同事、家人&#xff0c;甚至是陌生人&#xff0c;他們的情緒似乎總能不經意間影響到我…

官宣!低空經濟司,掛牌成立!

近日&#xff0c;國家發展改革委網站“機關司局”欄目悄然更新&#xff0c;一個新設立的部門——低空經濟發展司&#xff08;簡稱“低空司”&#xff09;正式進入公眾視野。低空司的成立&#xff0c;無疑是對當前國家經濟發展形勢的深刻把握和前瞻布局。 低空經濟是以各類低空飛…

接口調用限頻(代理模式+滑動窗口)

目錄 代碼示例 接口 代理 接口實現 限流工廠 限流處理器接口 直接交換處理器 限流處理器 限流配置 滑動窗口限流 通過代理模式滑動窗口&#xff0c;限流請求第三方平臺&#xff0c;避免出現第三方平臺拋出限流異常&#xff0c;影響正常業務流程&#xff0c;從出口出發…