剣はofferを指します——辞書の順序で文字列の配列を出力します

612 ワード

多くのアルゴリズム問題はPythonにとってパッケージで解決できるような気がします.実はc++に従って一歩一歩進めば、Pythonの便利さの意味を失うこともある.(どうせ私は答えの中で見つけられなかった.)基本的な考え方は、可能な配列を先に見つけてsortedである.
class Solution:
	def Permutation(self,ss):
		res=[]
		if len(ss)<2:
			return ss.split()
		for i in range(len(ss)):
			for n in map(lambda x:x+ss[i],self.Permutation(ss[:i]+ss[i+1:])):
			#  i     ,      ,    
				if n not in res:
					res.append(n)
		return sorted(res)
		

いつもlambdaをあまり使わないので、mapは彼を次のコードに分解しますが、コンパイルできないようです.気まずい――!
for i in range (len(ss)):
	x=self.Permutation(ss[:i]+ss[i+1:])
	x=x+ss[i]
	for n in x