日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

js字符串的字典序_27. 字符串的排列

發(fā)布時(shí)間:2025/3/15 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js字符串的字典序_27. 字符串的排列 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ? ?輸入一個(gè)字符串,按字典序打印出該字符串中字符的所有排列。例如輸入字符串a(chǎn)bc,則打印出由字符a,b,c所能排列出來的所有字符串a(chǎn)bc,acb,bac,bca,cab和cba。

? ??輸入描述:

????????輸入一個(gè)字符串,長(zhǎng)度不超過9(可能有字符重復(fù)),字符只包括大小寫字母。

1、思路

????????我們求整個(gè)字符串的排列,可以看成兩步:首先求所有可能出現(xiàn)在第一個(gè)位置的字符,即把第一個(gè)字符和后面所有的字符交換。如下圖所示:

????????上圖就是分別把第一個(gè)字符a和后面的b、c等字符交換的情形。首先固定第一個(gè)字符,求后面所有字符的排列。這個(gè)時(shí)候我們?nèi)园押竺娴乃凶址譃閮刹糠?#xff1a;后面的字符的第一個(gè)字符,以及這個(gè)字符之后的所有字符。然后把第一個(gè)字符逐一和它后面的字符交換。

第一步是確定第一個(gè)位置的字符,就是第一個(gè)位置與后邊的所有字符進(jìn)行交換。

第二步,就是對(duì)除了第一個(gè)位置的后邊所有位置的字符進(jìn)行相同處理;直至剩下一個(gè)字符,打印;

具體的算法流程如下

遞歸的出口,就是只剩一個(gè)字符的時(shí)候,遞歸的循環(huán)過程,就是從每個(gè)子串的第二個(gè)字符開始依次與第一個(gè)字符交換,然后繼續(xù)處理子串,如果有重復(fù)的,然后對(duì)結(jié)果使用set去重就可以了

2. 代碼:

??

推薦閱讀:

★?求職經(jīng)驗(yàn):點(diǎn)這里

★?算法刷題:點(diǎn)這里

★?投資理財(cái):點(diǎn)這里

★?AI很簡(jiǎn)單:

★?掃盲科普:點(diǎn)這里

???◆???◆???◆???◆???◆???◆???◆???◆???◆???◆???◆??

?????

總結(jié)

以上是生活随笔為你收集整理的js字符串的字典序_27. 字符串的排列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。