def f(s):
if not s:
return
i = len(s)-2
while i!= -1:
if s[i] < s[i+1]:
break
i -= 1
if i == -1:
s.reverse()
else:
j=len(s)-1
while j > i:
if s[j]>s[i] and (j==len(s)-1 or s[j+1] <= s[i]):
break
j-=1
tmp = s[i]
s[i] = s[j]
s[j] = tmp
s[i+1:] = list(reversed(s[i+1:]))
return s
print f([2,2,7,5,4,3,2,2,1]) permutasyon ornekler
0
●852
- 12-05-2013, 16:07:13