JavaScript 程式尋找字典順序最小字串旋轉
我們會在 JavaScript 中找到按字典順序排列的最小字串旋轉。該方法涉及將原始字串與其自身連接,然後使用內建的「排序」函數按升序對連接的字串進行排序。最後,我們將傳回已排序的連接字串的最小子字串,其長度與原始字串相同。這將是按字典順序排列的最小字串旋轉。
我們將透過使用字串操作技術和 JavaScript 中可用的內建函數來實現此邏輯。我們實現的結果將是一個表示輸入字串按字典順序最小旋轉的字串。這對於以有效的方式比較和排序字串非常有用。
未來,我們將繼續改進演算法,使其更快、更有效率地找到字典順序最小的字串旋轉。
方法
這裡解釋如何在 5 行中找到按字典順序排列的最小字串旋轉 -
將原始字串與其自身連接起來,以確保考慮所有可能的旋轉。
找到第一個不等於下一個字符的字符,該字符將作為最小旋轉的起點。
如果沒有找到這樣的字符,則傳回原始字串,因為它已經是最小旋轉。
傳回連接字串中從找到的字元開始到字串末尾的子字串作為最小旋轉。
產生的子字串將是按字典順序排列的最小字串旋轉。
範例
透過將原始字串與其自身連接並找到以原始字串的第一個字元開頭的最小子字串,可以找到按字典順序排列的最小字串旋轉。
這是一個在 JavaScript 中實作的範例 -
function findLexicographicallyMinimumStringRotation(str) { let strDouble = str + str; let len = str.length; let minRotation = strDouble.substring(0, len); for (let i = 1; i < len; i++) { let currRotation = strDouble.substring(i, i + len); if (currRotation < minRotation) { minRotation = currRotation; } } return minRotation; } const str = 'eadbc'; console.log(findLexicographicallyMinimumStringRotation(str));
說明
首先,我們將原始字串與其自身連接起來得到 strDouble。
我們也定義了一個變數len來儲存原始字串的長度。
然後我們用strDouble 中長度為len 的第一個子字串初始化minRotation,即strDouble >.子字串(0, len)。這是我們尋找字典順序最小字串旋轉的起點。
-
然後,我們使用 for 迴圈從第二個字元開始迭代 strDouble 中長度為 len 的所有可能子字串。
對於每次迭代,我們透過從strDouble 中獲取長度為len 的子字串來找到當前旋轉currRotation ,從當前位置 i.
#如果currRotation小於minRotation,我們將使用目前旋轉更新minRotation。
最後,在 for 迴圈結束後,我們傳回 minRotation 的值,這是一個以字典順序最小的字串旋轉。
以上是JavaScript 程式尋找字典順序最小字串旋轉的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

本文討論了在瀏覽器中優化JavaScript性能的策略,重點是減少執行時間並最大程度地減少對頁面負載速度的影響。

本文討論了使用瀏覽器開發人員工具的有效JavaScript調試,專注於設置斷點,使用控制台和分析性能。

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

本文說明瞭如何使用源地圖通過將其映射回原始代碼來調試JAVASCRIPT。它討論了啟用源地圖,設置斷點以及使用Chrome DevTools和WebPack之類的工具。

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

深入探討console.log輸出差異的根源本文將分析一段代碼中console.log函數輸出結果的差異,並解釋其背後的原因。 �...
