Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. def pickingNumbersvrai(a):
  2. res=[]
  3. l=[]
  4. a.sort()
  5. lenght=len(a) - 1
  6. if(lenght < 2 or lenght > 100 or any(ite < 0 or ite > 100 for ite in a ) ):
  7. return(" Check your array size or values inside")
  8. else:
  9. if(lenght == 2):
  10. if( abs(a[0]-a[1])<=1):
  11. return(2)
  12. else:
  13. return(" Condition not fulfill 1 ")
  14. else:
  15. i=0
  16. j=1
  17. f=0
  18. while i<=lenght:
  19. cpt=1
  20. l1=[]
  21. l1.append(a[i])
  22. j=0
  23. while j<=lenght:
  24. test = abs(a[i] - a[j])
  25. if(test <= 1 and a.index(a[i])!=j ):
  26. l1.append(a[j])
  27. cpt=cpt+1
  28. j=j+1
  29. l.append(l1)
  30. res.append(cpt)
  31. i=i+1
  32. n=[len(k) for k in l]
  33. for re in l:
  34. if len(re)==max(n):
  35. rest=re
  36. break;
  37. rest.sort()
  38. sor=rest
  39. m=1
  40. while m<(len(sor)):
  41. if (abs(sor[0] - sor[m]) <=1):
  42. m=m+1
  43. else:
  44. break;
  45. rest.reverse()
  46. rever=rest
  47. mm=1
  48. while mm<(len(rever)):
  49. if (abs(rever[0] - rever[mm]) <=1):
  50. mm=mm+1
  51. #c=c+1
  52. else:
  53. break;
  54. if(m<mm):
  55. mf=mm
  56. lf=sor
  57. elif(m>mm):
  58. mf=m
  59. fl=rever
  60. if(len(sor)-m ==0):
  61. mf=mm
  62. fl=rever
  63. else:
  64. mf=mm
  65. fl=rever
  66.  
  67. isPrime=lambda x: all(x % i != 0 for i in range(int(x**0.5)+1)[2:])
  68. m1=len(fl[:mf])
  69. m2= len(fl[mf:])
  70. if(m1==m2 and m1%2 ==0):
  71. return (m1+1)
  72. if(m==mm and (isPrime(m1) and not isPrime(m2) ) ):
  73. return m1+1
  74. if ( m1!=m2):
  75. return max(m,mm)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement