360笔试,第二道一直73%

下午360笔试还是挺友好的,感觉不难,各位大佬看看我的第二道出了什么问题
第一道,hash求出现最多的字符AC
def max_count(x):
    dic = {}
    for i in x:
        dic[i] = dic.get(i,0) +1
    return  max(dic.values())

if __name__ == '__main__':
    n = input()
    print(max_count(n))

2题分析,题目求的是终点的数目,我求的是起点。。。 应该能AC代码  
def sport(N,D):
    res = []
    for i in range(N):
        if dfs(N,D,i) != False:
            res.append(dfs(N,D,i))
    return len(set(res))

def dfs(N,D,n):
    for i in D:
        if n+i>N:
            n = n-i
            if n<0:
                return False
        else:
            n = n+i
    return n


if __name__ == '__main__':
    N,M = map(int,input().split())
    D = []
    for i in range(M):
        D.append(int(input()))
    print(sport(N-1,D))



第二道,dfs一直只是73%

def sport(N,D):
    res = 0
    for i in range(N):
        if dfs(N,D,i) == True:
            res+=1
    return max(max(D),res)

def dfs(N,D,n):
    for i in D:
        if n+i>N:
            n = n-i
            if n<0:
                return False
        else:
            n = n+i
    return True


if __name__ == '__main__':
    N,M = map(int,input().split())
    D = []
    for i in range(M):
        D.append(int(input()))
    print(sport(N-1,D))


#360公司##笔试题目#
全部评论
我也是,cout << 0 ; 也是百分之73
点赞 回复 分享
发布于 2019-08-31 18:17
我也是,但是我发现问题了,我求的是起点,题目要求是终点数目……
点赞 回复 分享
发布于 2019-08-31 18:17
我的ac了!超级开心~😂这是我做的最顺利的一次
点赞 回复 分享
发布于 2019-08-31 18:52
我也是
点赞 回复 分享
发布于 2019-08-31 18:10
为啥我不能用python?只有java c c 让我选
点赞 回复 分享
发布于 2019-08-31 18:11
我也是0.73,用java做的,我可能是递归超时
点赞 回复 分享
发布于 2019-08-31 18:17
https://www.nowcoder.com/discuss/240269?toCommentId=3786919
点赞 回复 分享
发布于 2019-08-31 18:18
第一个全部通过?
点赞 回复 分享
发布于 2019-08-31 18:19
第一题能过?
点赞 回复 分享
发布于 2019-08-31 18:28
第二题 暴力 100%
点赞 回复 分享
发布于 2019-08-31 18:38
import sys class Main:     def __init__(self):         self.set = set()         self.n, self.m = [int(i) for i in sys.stdin.readline().rstrip().split()]         self.array = []                  for _ in range(self.m):             self.array.append(int(input()))                  self.search(0, 0, 0, 0)         print(len(self.set))              def search(self, idx, pos, left, right):         if idx == len(self.array):             pos -= left             right -= left             for bias in range(self.n - right):                 self.set.add(pos + bias)             return                  if (pos + self.array[idx]) < self.n and (pos + self.array[idx]) - left < self.n:             self.search(idx + 1, (pos + self.array[idx]), left, max((pos + self.array[idx]), right))                  if (pos - self.array[idx]) > - self.n and right - (pos - self.array[idx]) < self.n:             self.search(idx + 1, (pos - self.array[idx]), min(left, (pos - self.array[idx])), right)                   if __name__ == '__main__':     Main() 第一道用Counter只能64
点赞 回复 分享
发布于 2019-08-31 18:51

相关推荐

01-15 13:52
已编辑
河南大学 Java
六年要多久:标准头像,不吃香菜😂
点赞 评论 收藏
分享
2024-12-27 13:08
华南理工大学 Java
蝴蝶飞出了潜水钟丿:多看一眼就会💥
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

更多
牛客网
牛客企业服务