滴滴9.8后端Python代码

第一题

二分答案,即二分所需要的天数

def solve():
  n, a, b = map(int, input().split())
  c = list(map(int, input().split()))
  l, r = -1, 1 << 64
  def check(c, mid):
	temp = c.copy()
	res = 0
	for i in range(n):
	  temp[i] *= mid
	  res += temp[i] // b
	return res < a
  while l < r - 1:
	mid = (l + r) >> 1
	if not check(c, mid):
	  r = mid
	else:
	  l = mid
  print(l + 1)



注意一下二分的上界需要设为1e18以上,否则会只过82或91

第二题

拿题感觉是Trie或者字符串哈希,可惜两个我都只会板子并且不会手写(字符串苦手,以前字符串都是队友负责的)

Python纯暴力拿了27,82分做法站内有人发了,原来i in s比s.find(i)慢那么多...然后换Cpp一时间又忘了字符串操作了

#我的求职思考#
全部评论
跪求更新一二面问的问题
点赞 回复 分享
发布于 2023-09-11 16:49 福建

相关推荐

03-29 17:05
门头沟学院 Java
asdasdasda...:我前段时间找工作焦虑,有几天连续熬夜熬穿了,然后心脏突然不舒服,立马躺床上睡觉了,然后第二天还是不舒服,去看医生说是心率不齐,吓得我后面天天早早睡觉,调养身体,过了好几天才好过来。所以真的,工作这些东西哪有那么重要,最多钱多一点钱少一点,降低物欲。活着才是最重要的,现在想想真的后怕
如何排解工作中的焦虑
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

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