Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.60 KB | None | 0 0
  1. def AlgoIt(A,x,y,k):
  2.     currx=x
  3.     curry=y
  4.     stacky=[]
  5.     stacka=[]
  6.     stackVal=[]
  7.     nextx=None
  8.     nexty=None
  9.     lasty=None
  10.     ret=None
  11.     val=0
  12.     while(currx<=curry) or (not stacky):
  13.         if(currx<=curry):
  14.             z=int((x+y)/2)
  15.             if (A[z] == k):
  16.                 val = 1
  17.             else:
  18.                 val = 0
  19.             stackVal.append(val)
  20.             stacky.append(curry)
  21.             nextx=curry
  22.             nexty=z+1
  23.         else:
  24.             curry=stacky.pop()
  25.             if(lasty!=curry):
  26.                 a=ret
  27.                 z=lasty+1
  28.                 if(A[z]==k):
  29.                     val=1
  30.                 else:
  31.                     val=0
  32.                 stackVal.append(val)
  33.                 stacka.append(a)
  34.                 nextx=z+1
  35.                 nexty=curry
  36.             else:
  37.                 val=stackVal.pop()
  38.                 a=stacka.pop()
  39.                 b=ret
  40.                 val=val+a+b
  41.                 stackVal.pop()
  42.                 stacka.pop()
  43.                 stacky.pop()
  44.                 nexty=currx-1
  45.                 ret=val
  46.         lasty=curry
  47.         curry=nexty
  48.         currx=nextx
  49.     return val
  50.  
  51.  
  52. def AlgoRic(A,x,y,k):
  53.     val=0
  54.     if(x<=y):
  55.         z=int((x+y)/2)
  56.         if(A[z]==k):
  57.             val=1
  58.         a=AlgoRic(A,x,z-1,k)
  59.         if(a>val):
  60.             val=a+val
  61.         b=AlgoRic(A,z+1,y,k)
  62.         val=val+a+b
  63.     return val
  64.  
  65. def main():
  66.     array=[3,2,1,7,15,12,23,33]
  67.     print(AlgoRic(array,0,7,12))
  68.     print(AlgoIt(array,0,7,12))
  69.  
  70. if __name__ == '__main__':
  71.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement