依图:算法岗笔试题

四道题:40分、
1.单向地铁站 N个站台(0,。。。N-1),两个List 每个站台进站和出站人数,计算总共花费。如某人从i站进j站出,花费j-i 过了90%
N=int(input())
inZ =list(map(int,input().split()))
outZ=list(map(int,input().split()))
res=0 for i in range(N):  if outZ[i]!=0:
        c=0   
      for j in range(i):    
      if inZ[j]!=0:  if c+inZ[j]<=outZ[i]:
               res+=(inZ[j]*(i-j))
               c+=inZ[j]
               inZ[j]=0       else:
               res+=(outZ[i]-c)*(i-j)
               inZ[j]=inZ[j]-(outZ[i]-c)
               c=outZ[i]  break print(res)
2.N个地点,每个地点Ni个蛋糕,M条路径,每条路需要花费时间Mi。计算从S点到D点最少花费时间以及可以买到的最多蛋糕数量。
采用Floyd算法。稍作改变了一下。没有过😂
3.数组,K个操作:每次取两个数去掉,然后将他们的和放在数组尾。问数组最多多少个3的倍数。AC
N,K=map(int,input().split())
List=list(map(int,input().split())) for i in range(N):
    List[i]=List[i]%3 List.sort() if List.count(0)==N:  print(N) else:
    t0=List.count(0)
    t1=List.count(1)
    t2=List.count(2)
    res=t0  while K>0 and t1>0 and t2>0:
        K-=1
      t1-=1 
      t2-=1    res+=1    if K==0:  print(res)  elif t1==0:  while K>0 and t2>0:
            K-=2;t2-=3;res+=1; print(res)  elif t2==0:  while K>0 and t1>0:
            K-=2; t1-=3; res+=1; print(res)
4.不记得了,没怎么看
#依图科技##算法工程师##笔试题目#
全部评论
老哥AC了2道吗?
点赞 回复 分享
发布于 2019-08-23 21:33
1.9?
点赞 回复 分享
发布于 2019-08-23 22:32

相关推荐

像好涩一样好学:这公司我也拿过 基本明确周六加班 工资还凑活 另外下次镜头往上点儿
点赞 评论 收藏
分享
评论
点赞
19
分享
牛客网
牛客企业服务