依图:算法岗笔试题

四道题: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.不记得了,没怎么看
#依图科技##算法工程师##笔试题目#
全部评论
1.9?
点赞 回复 分享
发布于 2019-08-23 22:32
老哥AC了2道吗?
点赞 回复 分享
发布于 2019-08-23 21:33

相关推荐

湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
19
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务