滴滴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 福建

相关推荐

06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
05-05 21:45
已编辑
广州大学 Java
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

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