看流星题(过了80%,python): n = int(input()) s = [int(i) for i in input().split()] t = [int(i) for i in input().split()] t_max = max(t) dp = [0] * (t_max + 1) for i in s: dp[i] += 1 for i in t: dp[i] -= 1 for i in range(1, len(dp)): dp[i] = dp[i] + dp[i-1] for i in range(n): if s[i] == t[i]: dp[s[i]] += 1 m = max(dp) temp = 0 list = [] for i in range(len(dp)): if dp[i] == m: temp += 1 list.append(dp[i]) if i != len(dp)-1 and dp[i+1] != m: temp += 1 for i in range(n): if s[i] == t[i] and i in list: temp -= 1 print(m, temp)

相关推荐

不愿透露姓名的神秘牛友
07-15 12:20
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-16 12:18
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务