中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

wordpress插入優(yōu)酷視頻南昌seo服務(wù)

wordpress插入優(yōu)酷視頻,南昌seo服務(wù),武漢網(wǎng)站建設(shè)排行,互聯(lián)網(wǎng)保險業(yè)務(wù)監(jiān)管暫行辦法🙋大家好!我是毛毛張! 🌈個人首頁: 神馬都會億點點的毛毛張 🕹?KMP算法練習(xí)題 LeetCode鏈接:796. 旋轉(zhuǎn)字符串 文章目錄 1.題目描述🍑2.題解🫐2.1 暴力解法🫒2.2 模擬…
🙋大家好!我是毛毛張!
🌈個人首頁: 神馬都會億點點的毛毛張
🕹?KMP算法練習(xí)題

LeetCode鏈接:796. 旋轉(zhuǎn)字符串

文章目錄

  • 1.題目描述🍑
  • 2.題解🫐
    • 2.1 暴力解法🫒
    • 2.2 模擬🥭
    • 2.3 字符串匹配 - 移動匹配🥑
      • 2.3.1 內(nèi)置函數(shù)🥥
      • 2.3.2 KMP🍊

1.題目描述🍑

給定兩個字符串, sgoal。如果在若干次旋轉(zhuǎn)操作之后,s 能變成 goal ,那么返回 true 。

s旋轉(zhuǎn)操作 就是將 s 最左邊的字符移動到最右邊。

  • 例如, 若 s = 'abcde',在旋轉(zhuǎn)一次之后結(jié)果就是'bcdea' 。

示例 1:

輸入: s = "abcde", goal = "cdeab"
輸出: true

示例 2:

輸入: s = "abcde", goal = "abced"
輸出: false

提示:

  • 1 <= s.length, goal.length <= 100
  • sgoal 由小寫英文字母組成

2.題解🫐

2.1 暴力解法🫒

class Solution {public boolean rotateString(String s, String goal) {// 檢查兩個字符串的長度,如果長度不同,返回 falseif (s.length() != goal.length()) return false;char[] chs = s.toCharArray();// 將字符串 s 轉(zhuǎn)換為字符數(shù)組char[] cht = goal.toCharArray();// 將目標字符串 goal 轉(zhuǎn)換為字符數(shù)組// 遍歷每一個可能的旋轉(zhuǎn)位置for (int i = 0; i < chs.length; i++) {// 保存當前字符,以便進行旋轉(zhuǎn)char temp = chs[0];// 將字符數(shù)組向左旋轉(zhuǎn)一位for (int j = 0; j < cht.length - 1; j++) {chs[j] = chs[j + 1];}// 將保存的字符放到數(shù)組末尾chs[chs.length - 1] = temp;// 如果當前旋轉(zhuǎn)后的字符數(shù)組等于目標字符數(shù)組,返回 trueif (Arrays.equals(chs, cht)) return true;}return false;// 如果沒有找到任何匹配,返回 false}
}

2.2 模擬🥭

  • 上面我們是通過將字符串轉(zhuǎn)換成字符數(shù)組,然后實際進行旋轉(zhuǎn),當時實際上并不需要,我們可以通過取模的方式來模擬旋轉(zhuǎn)字符串,這種方法稱為模擬
  • 首先,如果 s s s g o a l goal goal的長度不一樣,那么無論怎么旋轉(zhuǎn), s s s都不能得到 g o a l goal goal,返回 f a l s e false false。在長度一樣(都為 n)的前提下,假設(shè) s s s旋轉(zhuǎn) i i i位,則與 g o a l goal goal中的某一位字符$ goal[j] 對應(yīng)的原 對應(yīng)的原 對應(yīng)的原s$中的字符應(yīng)該為 s [ ( i + j ) m o d n ] s[(i+j)\ mod\ n] s[(i+j)?mod?n]。在固定 i i i的情況下,遍歷所有 j j j,若對應(yīng)字符都相同,則返回 t r u e true true。否則,繼續(xù)遍歷其他候選的 i i i。若所有的 i i i都不能使 s s s變成 g o a l goal goal,則返回 f a l s e false false
class Solution {public boolean rotateString(String s, String goal) {// 檢查兩個字符串的長度,如果不相等則返回 falseif (s.length() != goal.length()) return false;int len = s.length(); // 獲取字符串 s 的長度// 遍歷字符串 s 的每一個字符作為旋轉(zhuǎn)的起始位置for (int i = 0; i < len; i++) {int j; // 初始化目標字符串 goal 的索引// 遍歷目標字符串 goalfor (j = 0; j < len; j++) {// 通過模運算計算旋轉(zhuǎn)后的字符在字符串 s 中的位置,并進行比較if (s.charAt((i + j) % len) != goal.charAt(j)) break; // 如果不匹配,跳出內(nèi)層循環(huán)}// 如果 j 達到目標字符串的長度,表示完全匹配,返回 trueif (j == len) return true;}// 如果沒有找到匹配,返回 falsereturn false;}
}

2.3 字符串匹配 - 移動匹配🥑

  • 首先,如果 sgoal 的長度不一樣,那么無論怎么旋轉(zhuǎn),s 都不能得到 goal,返回 false。字符串 s+s 包含了所有 s 可以通過旋轉(zhuǎn)操作得到的字符串,只需要檢查 goal 是否為 s+s 的子字符串即可。

2.3.1 內(nèi)置函數(shù)🥥

class Solution {public boolean rotateString(String s, String goal) {return s.length() == goal.length() && (s+s).contains(goal);}
}

2.3.2 KMP🍊

class Solution {public boolean rotateString(String s, String goal) {// 檢查字符串的長度,如果不相等則返回 falseif (s.length() != goal.length()) return false;// 將字符串 s 進行拼接,以便于處理旋轉(zhuǎn)情況s = s + s;// 生成目標字符串 goal 的前綴函數(shù)數(shù)組int[] next = getNext(goal); int j = 0; // 匹配指針,用于遍歷目標字符串 goal// 遍歷拼接后的字符串 sfor (int i = 0; i < s.length(); i++) {// 當前字符不匹配時,根據(jù)前綴函數(shù)回退 jwhile (j > 0 && s.charAt(i) != goal.charAt(j)) j = next[j - 1];if (s.charAt(i) == goal.charAt(j)) j++;// 如果字符匹配,增加 j// 如果 j 達到目標字符串的長度,表示完全匹配,返回 trueif (j == goal.length()) return true;}// 如果沒有找到匹配,返回 falsereturn false;}// 生成目標字符串的前綴函數(shù)數(shù)組public int[] getNext(String s) {int n = s.length();int[] next = new int[n]; // 存儲前綴函數(shù)的數(shù)組int j = 0; // 前綴指針next[0] = 0; // 第一個字符的前綴長度為0// 遍歷字符串,生成前綴函數(shù)數(shù)組for (int i = 1; i < n; i++) {// 當前字符不匹配時,回退前綴指針 jwhile (j > 0 && s.charAt(i) != s.charAt(j)) j = next[j - 1];if (s.charAt(i) == s.charAt(j)) j++;// 如果字符匹配,前綴長度增加next[i] = j;// 記錄前綴長度到 next 數(shù)組}return next; // 返回前綴函數(shù)數(shù)組}
}

都看到這了,不妨一鍵三連再走吧!

🌈歡迎和毛毛張一起探討和交流!
聯(lián)系方式參見個人主頁:
神馬都會億點點的毛毛張

http://www.risenshineclean.com/news/59868.html

相關(guān)文章:

  • 互聯(lián)網(wǎng)網(wǎng)站建設(shè)新聞建網(wǎng)站費用
  • 網(wǎng)架公司廠家seo技術(shù)優(yōu)化技巧
  • 百度網(wǎng)站內(nèi)容網(wǎng)絡(luò)推廣公司深圳
  • 軟件源碼購買一般在哪個網(wǎng)站網(wǎng)址網(wǎng)域ip地址查詢
  • 重慶網(wǎng)站建設(shè) cqhtwl臨沂百度代理公司有幾個
  • 外貿(mào)網(wǎng)站做紙尿褲怎么樣wordpress自助建站
  • 長春網(wǎng)站制作可選源晟4推廣產(chǎn)品最好的方式
  • 代運營公司排名前十西安關(guān)鍵詞優(yōu)化排名
  • 中國空間站太小了公司培訓(xùn)
  • 集團網(wǎng)站 源碼網(wǎng)站設(shè)計公司排名
  • 廣州海珠區(qū)繁華嗎排名seo公司哪家好
  • wordpress 插件 論壇常州seo排名收費
  • 建設(shè)手機網(wǎng)站的公司灰色seo推廣
  • 網(wǎng)站平臺建設(shè)的作用巨量算數(shù)數(shù)據(jù)分析
  • 安徽網(wǎng)站設(shè)計流程軟文發(fā)布平臺媒體
  • 找人做一個網(wǎng)站要多少錢百度推廣客戶端怎么登陸
  • 制作花燈百度刷排名優(yōu)化軟件
  • wap游戲縱橫四海優(yōu)化設(shè)計卷子答案
  • 做月季評分表的工程網(wǎng)站叫什么西安百度推廣開戶多少錢
  • 室內(nèi)設(shè)計軟件手機版semseo是什么意思
  • 中國住房和城鄉(xiāng)建設(shè)部網(wǎng)站安全seo優(yōu)化排名軟件
  • 鞋圖相冊網(wǎng)站怎么做seo網(wǎng)站優(yōu)化網(wǎng)站編輯招聘
  • 建設(shè)彩票網(wǎng)站犯法嗎seo網(wǎng)站排名優(yōu)化公司哪家好
  • 推廣引流文案鄭州網(wǎng)站優(yōu)化外包
  • 知名做漫畫網(wǎng)站百度官網(wǎng)進入
  • 南通市住房城鄉(xiāng)建設(shè)局網(wǎng)站百度服務(wù)中心人工24小時電話
  • 做網(wǎng)站公司漢獅團隊google play三件套
  • 知名網(wǎng)站建設(shè)多少錢排名優(yōu)化工具下載
  • 網(wǎng)頁的定義seo推廣軟件排行榜
  • 網(wǎng)站備案 身份證廣州seo成功案例