Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def pickingNumbersvrai(a):
- res=[]
- l=[]
- a.sort()
- lenght=len(a) - 1
- if(lenght < 2 or lenght > 100 or any(ite < 0 or ite > 100 for ite in a ) ):
- return(" Check your array size or values inside")
- else:
- if(lenght == 2):
- if( abs(a[0]-a[1])<=1):
- return(2)
- else:
- return(" Condition not fulfill 1 ")
- else:
- i=0
- j=1
- f=0
- while i<=lenght:
- cpt=1
- l1=[]
- l1.append(a[i])
- j=0
- while j<=lenght:
- test = abs(a[i] - a[j])
- if(test <= 1 and a.index(a[i])!=j ):
- l1.append(a[j])
- cpt=cpt+1
- j=j+1
- l.append(l1)
- res.append(cpt)
- i=i+1
- n=[len(k) for k in l]
- for re in l:
- if len(re)==max(n):
- rest=re
- break;
- rest.sort()
- sor=rest
- m=1
- while m<(len(sor)):
- if (abs(sor[0] - sor[m]) <=1):
- m=m+1
- else:
- break;
- rest.reverse()
- rever=rest
- mm=1
- while mm<(len(rever)):
- if (abs(rever[0] - rever[mm]) <=1):
- mm=mm+1
- #c=c+1
- else:
- break;
- if(m<mm):
- mf=mm
- lf=sor
- elif(m>mm):
- mf=m
- fl=rever
- if(len(sor)-m ==0):
- mf=mm
- fl=rever
- else:
- mf=mm
- fl=rever
- isPrime=lambda x: all(x % i != 0 for i in range(int(x**0.5)+1)[2:])
- m1=len(fl[:mf])
- m2= len(fl[mf:])
- if(m1==m2 and m1%2 ==0):
- return (m1+1)
- if(m==mm and (isPrime(m1) and not isPrime(m2) ) ):
- return m1+1
- if ( m1!=m2):
- return max(m,mm)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement