8.23爱奇艺笔试

第一题,求n!中0的个数。
import sys
n = int(sys.stdin.readline().strip())
def func(n):
    count = 0
    while n>=5:
        count += n//5
        n //= 5
    return count
print(func(n))
第二题,判断路径是否相交。
给你一个字符串 path,其中 path[i] 的值可以是 'N'、'S'、'E' 或者 'W',分别表示向北、向南、向东、向西移动一个单位。

机器人从二维平面上的原点 (0, 0) 处开始出发,按 path 所指示的路径行走。

如果路径在任何位置上出现相交的情况,也就是走到之前已经走过的位置,请返回 True ;否则,返回 False 。
import sys
path = sys.stdin.readline().strip()
directions = {'N': (0, 1), 'S': (0, -1), 'E': (1, 0), 'W': (-1, 0)}
def func(path):
    temp = set()
    point = (0, 0)
    temp.add(point)
    for p in path:
        x, y = directions[p]
        point = (point[0] + x, point[1] + y)
        if point in temp:
            return True
        temp.add(point)
    return False
print(func(path))
第三题:判断一个输入的括号是否是有效括号
import sys
s = sys.stdin.readline().strip()
def func(s):
    dic=  {'}':'{', ']':'[', ')':'('}
    stack = []
    for c in s:
        if c not in dic:
            stack.append(c)
        else:
            if stack  and  stack.pop() != dic[c]:
                return False
    return not stack
print(func(s))



#笔试题目#
全部评论
楼主第三题 没有考虑出栈入栈后 栈空的情形
1 回复 分享
发布于 2020-08-23 17:14
😂第三题ac33.3%不知道为啥
点赞 回复 分享
发布于 2020-08-23 17:12

相关推荐

实习完回校有一种割裂感,感觉自己已经不属于校园了,晚上去操场散步看着草坪上的人,尸体暖暖的。
我已成为0offer的糕手:很真实,回不到从前了。我实习那会儿有事回学校一趟就有这样的感慨,学校给人整个的节奏就很慢。被快节奏搞麻的人看着很治愈,但也有再也无法融入的感伤了
点赞 评论 收藏
分享
08-25 17:07
门头沟学院 C++
西南山:面向结果编程
查看4道真题和解析 投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
不入算法余生悔:大二开始实习,本科三年经验,再考个研,到研二正好是五年经验
点赞 评论 收藏
分享
3 2 评论
分享
牛客网
牛客企业服务