关注
第二题你这个代码如果在自己电脑上,会递归深度超出,所以我把数据范围缩小到1-100了,后面附上测试代码和结果:
import time
import random
import math
from collections import defaultdict
def solution(n,input):
result = 0
dp_dict = defaultdict(int)
dp_dict[1] = 0
input_max = max(input)
for number in range(2,input_max):
if number not in dp_dict:
dp_dict[number] = dp_dict[number-1] + 1
if number + 1 in dp_dict:
dp_dict[number+1] = min(dp_dict[number+1],dp_dict[number]+1)
else:
dp_dict[number+1] = dp_dict[number] + 1
for second in range(2,min(number+1,int(math.sqrt(input_max))+1)):
if number * second > input_max:
break
if number * second in dp_dict:
dp_dict[number*second] = min(dp_dict[number*second], dp_dict[number]+dp_dict[second]+1)
else:
dp_dict[number*second] = dp_dict[number]+dp_dict[second]+1
for number in input:
result += dp_dict[number]
return result
查看原帖
点赞 6
相关推荐
点赞 评论 收藏
分享
03-24 16:59
湖南人文科技学院 后端 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 找工作,行业重要还是岗位重要? #
10871次浏览 190人参与
# 国企还是互联网,你怎么选? #
123603次浏览 958人参与
# 潍柴工作体验 #
17267次浏览 17人参与
# 盲审过后你想做什么? #
13416次浏览 119人参与
# 五一之后,实习真的很难找吗? #
49085次浏览 349人参与
# 外包能不能当跳板? #
22710次浏览 192人参与
# 央国企投递记录 #
80015次浏览 1318人参与
# 你觉得通信/硬件有必要实习吗? #
92791次浏览 891人参与
# 我的2024小目标 #
57042次浏览 380人参与
# 中美关税战对我们有哪些影响 #
27612次浏览 261人参与
# 每人推荐一个小而美的高薪公司 #
72955次浏览 1358人参与
# 领导秒批的请假话术 #
10706次浏览 83人参与
# 设计人如何选offer #
98983次浏览 692人参与
# 五一假期,你打算“躺”还是“卷”? #
39107次浏览 492人参与
# 蚂蚁集团工作体验 #
10910次浏览 70人参与
# 小厂实习有必要去吗 #
42585次浏览 260人参与
# 一句话证明你在找工作 #
294375次浏览 2432人参与
# 创作灵感 #
96714次浏览 1475人参与
# 应届生进小公司有什么影响吗 #
67437次浏览 984人参与
# 实习生活中那些难忘的瞬间 #
100462次浏览 1790人参与