牛客網 劍指office 字串的排列

2021-09-23 13:16:52 字數 1608 閱讀 5474

題目:題目描述

輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。

輸入描述:

輸入乙個字串,長度不超過9(可能有字元重複),字元只包括大小寫字母。

解法一:

思路:

python 的解法

同解法一的思路相同

class solution:

def permutation(self, ss):

# write code here

out =

if len(ss) == 0:

return out

charlist = list(ss)

self.helper(charlist, 0, out)

out = [''.join(out[i]) for i in range(len(out))]

out.sort()

return out

def helper(self, ss, begin, out):

if begin == len(ss)-1:

else:

for i in range(begin, len(ss)):

if ss[begin] == ss[i] and begin != i:

continue

else:

ss[begin], ss[i] = ss[i], ss[begin]

self.helper(ss, begin+1, out)

ss[begin], ss[i] = ss[i], ss[begin]

牛客網 劍指office 求1 2 2 n

題目 求1 2 3 n,要求不能使用乘除法 for while if else switch case等關鍵字及條件判斷語句 a?b c 解法一 思路 遞迴求和。class solution 解法二 思路 利用建構函式求解。我們先定義乙個類,接著建立n個該型別的例項,那麼這個建構函式將會被呼叫n次,...

牛客網 劍指office 陣列中的逆序對

題目 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 思路 歸併排序。先將陣列分為若干個長度相等的子陣列,然後在合併子陣列的時候進行排序 並統計逆...

牛客網 字串的統計字串

牛客網 題目描述 給定乙個字串str,返回str的統計字串。例如 aaabbbbcccd 的統計字串為 a 3 b 4 c 3 d 1 輸入字元長度都大於1 解題思路 1.第一種方法輸入的是 aaa n 這種字元。因此我們將當前字元cur指向首字元,從1 字串長度的範圍內開始遍歷判斷當前字元cur是...