劍指Offer Python語言 面試題38

2021-09-29 13:34:33 字數 708 閱讀 1530

面試題38:字串的排列

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

# -*- coding:utf-8 -*-

class solution:

def permutation(self, ss):

# write code here

ss = list(ss)

result =

if not ss:

return

self.permutation(ss,0,result)

result = sorted(result)

return result

def permutation(self, ss, begin, result):

if begin == len(ss)-1:

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

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

continue

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

self.permutation(ss,begin+1,result)

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

劍指offer(Python)替換空格

這道題要求是 將乙個字串中的空格替換成 20 有多少個空格就替換成多少個 20 例如 hello world 中間有兩個空格,則需要輸出的形式是 hello 20 20world 字串首尾的空格亦算在內。class solution def replacespace self,s return 20...

劍指offer Python 替換空格

請實現乙個函式,將乙個字串中的每個空格替換成 20 python字串,有replace方法,可以實現替換,第乙個引數是要替換的內容,第二個引數是替換的新內容 能夠快速完成,果然python作為一種高階語言,不太適合做演算法 但是 replace 相當於 insert 在替換 時,會將原字串元素的位置...

《劍指offer》python 動態規劃

動態規劃是利用空間去換取時間的演算法.主要看 1.初始條件 2.重疊子問題 3.狀態轉移方程 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 coding utf 8 class solution def jumpfloo...