Hello Folks....
I think these two days you tried on the exercises I posted. I am posting the solutions now. Check your answers with this. Try these in your editors.
Q1: Armstrong number
n=int(input())
num=n
ans=0
while n>0:
l=n%10
ans+=(l*l*l)
n=n//10
if ans==num:
print(num," is an armstrong number")
else:
print(num," is not an armstrong number")
Q2: Maximum row sum and column sum
li=[ [1,2,3],
[2,3,5],
[5,2,6]]
max_row_sum=[]
max_col_sum=[]
for i in range(0,len(li)):
row_sum=0
for j in range (0,len(li[0])):
row_sum+=(li[i][j])
max_row_sum.append(row_sum)
print("row ",i," :",row_sum)
print("")
for i in range(0,len(li[0])):
col_sum=0
for j in range (0,len(li)):
col_sum+=(li[j][i])
max_col_sum.append(col_sum)
print("col ",i," :",col_sum)
print("Maximum row sum =",max(max_row_sum))
print("Maximum column sum =",max(max_col_sum))
Q3: Next largest number in list
** Asked in Amazon interview.
li=[5,6,1,3,9,2,3,4]
for i in range (0,len(li)):
for j in range(i+1,len(li)):
if li[j]>li[i]:
print(li[j],end=" ")
break
else :
print(-1)
Q4: Sequence with highest no.of.1's
li=["11000101101","10101110101","1000110001","110001111","00110101011111"]
k=int(input())
ans_li=[]
for i in li:
st=[]
k1=k
m=0
cnt=0
st=list(i)
print(st)
while k1>0 and m<len(st):
if st[m]=='1':
st[m]='0'
k1=k1-1
m=m+1
else:
st[m]='1'
k1=k1-1
m=m+1
print(st)
cnt=st.count('1')
print(cnt)
ans_li.append(cnt)
n=ans_li.index(max(ans_li))
print("Maximum no.of.1's is in :",li[n])
Q5: Pairs with sum k.
**Asked in many interviews in optimized approach which will be discussed later.
li1=[3,5,4,9,34,2,54,80,20,43,7,6]
k=int(input())
li=list(x for x in li1 if x<=k)
print(li)
pairs=[]
for i in range(0,len(li)):
a=li[i]
for j in range(i+1,len(li)):
b=li[j]
if(a+b==k):
pairs.append((a,b))
print(pairs)
I think these two days you tried on the exercises I posted. I am posting the solutions now. Check your answers with this. Try these in your editors.
Q1: Armstrong number
n=int(input())
num=n
ans=0
while n>0:
l=n%10
ans+=(l*l*l)
n=n//10
if ans==num:
print(num," is an armstrong number")
else:
print(num," is not an armstrong number")
Q2: Maximum row sum and column sum
li=[ [1,2,3],
[2,3,5],
[5,2,6]]
max_row_sum=[]
max_col_sum=[]
for i in range(0,len(li)):
row_sum=0
for j in range (0,len(li[0])):
row_sum+=(li[i][j])
max_row_sum.append(row_sum)
print("row ",i," :",row_sum)
print("")
for i in range(0,len(li[0])):
col_sum=0
for j in range (0,len(li)):
col_sum+=(li[j][i])
max_col_sum.append(col_sum)
print("col ",i," :",col_sum)
print("Maximum row sum =",max(max_row_sum))
print("Maximum column sum =",max(max_col_sum))
Q3: Next largest number in list
** Asked in Amazon interview.
li=[5,6,1,3,9,2,3,4]
for i in range (0,len(li)):
for j in range(i+1,len(li)):
if li[j]>li[i]:
print(li[j],end=" ")
break
else :
print(-1)
Q4: Sequence with highest no.of.1's
li=["11000101101","10101110101","1000110001","110001111","00110101011111"]
k=int(input())
ans_li=[]
for i in li:
st=[]
k1=k
m=0
cnt=0
st=list(i)
print(st)
while k1>0 and m<len(st):
if st[m]=='1':
st[m]='0'
k1=k1-1
m=m+1
else:
st[m]='1'
k1=k1-1
m=m+1
print(st)
cnt=st.count('1')
print(cnt)
ans_li.append(cnt)
n=ans_li.index(max(ans_li))
print("Maximum no.of.1's is in :",li[n])
Q5: Pairs with sum k.
**Asked in many interviews in optimized approach which will be discussed later.
li1=[3,5,4,9,34,2,54,80,20,43,7,6]
k=int(input())
li=list(x for x in li1 if x<=k)
print(li)
pairs=[]
for i in range(0,len(li)):
a=li[i]
for j in range(i+1,len(li)):
b=li[j]
if(a+b==k):
pairs.append((a,b))
print(pairs)
Comments
Post a Comment