Boroplus

Hacker

Jun 2nd, 2022
916
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.94 KB | None | 0 0
  1. def nextPermutation(nums):
  2.     found = False
  3.     i = len(nums)-2
  4.     while i >=0:
  5.         if nums[i] < nums[i+1]:
  6.             found =True
  7.             break
  8.         i-=1
  9.     if not found:
  10.         nums.sort()
  11.     else:
  12.         m = findMaxIndex(i+1,nums,nums[i])
  13.         nums[i],nums[m] = nums[m],nums[i]
  14.         nums[i+1:] = nums[i+1:][::-1]
  15.     return nums
  16.  
  17. def findMaxIndex(index,a,curr):
  18.     ans = -1
  19.     index = 0
  20.     for i in range(index,len(a)):
  21.         if a[i]>curr:
  22.             if ans == -1:
  23.                 ans = curr
  24.                 index = i
  25.             else:
  26.                 ans = min(ans,a[i])
  27.                 index = i
  28.     return index
  29.  
  30. def biggerIsGreater(w):
  31.     a = []
  32.     for s in w:
  33.         a.append(ord(s))
  34.     a =nextPermutation(a)
  35.    
  36.     x = ''
  37.     for i in a:
  38.         x += chr(i)
  39.    
  40.     W = list(w)
  41.     W.sort()
  42.     W = ''.join(W)
  43.     if x == W:
  44.         return 'no answer'
  45.     return x
  46.    
Advertisement
Add Comment
Please, Sign In to add comment