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 。
机器人从二维平面上的原点 (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))