阿里云笔试910(算法)
第一题签到
第二题
从字符串数组中找出一组字符串,要求这组字符串拼接后存在主导字符,输出字符串的最大数量
主导字符:字符串中超过字符串长度一半的字符为主导字符
如:
aaab
abcd
abc
a
bb
应该输出4,前四个字符串拼接后主导字符为a
先想的用回溯,果不其然的超时了,只过了10%,一般回溯超时的话要不加剪枝,要不用dp,加了一些简单的剪枝没啥效果,dp想了半天也没想到怎么做
第三题
定义树的权值为树中所有路径权值的最大公倍数之和
现在需要构建一棵树,权值为2的节点有a个,权值为3的节点有b个,构建出权值最大的树
时间来不及了,题都没怎么看懂,没搞明白树的路径的定义是什么ummm,只记得给了个例子:
2 2 3
1 2
1 3
第一行是节点权值,2-3行是节点之间的边,路径有三条:
1 2
1 3
2 1 3
第二题
从字符串数组中找出一组字符串,要求这组字符串拼接后存在主导字符,输出字符串的最大数量
主导字符:字符串中超过字符串长度一半的字符为主导字符
如:
aaab
abcd
abc
a
bb
应该输出4,前四个字符串拼接后主导字符为a
先想的用回溯,果不其然的超时了,只过了10%,一般回溯超时的话要不加剪枝,要不用dp,加了一些简单的剪枝没啥效果,dp想了半天也没想到怎么做
第三题
定义树的权值为树中所有路径权值的最大公倍数之和
现在需要构建一棵树,权值为2的节点有a个,权值为3的节点有b个,构建出权值最大的树
时间来不及了,题都没怎么看懂,没搞明白树的路径的定义是什么ummm,只记得给了个例子:
2 2 3
1 2
1 3
第一行是节点权值,2-3行是节点之间的边,路径有三条:
1 2
1 3
2 1 3
全部评论
约面了吗兄弟
我第二题剪枝了也只过了10%
相关推荐
03-25 20:57
门头沟学院 机器学习 wolf_82:你是一个出租车费用计算器。根据用户输入的自然语言,提取里程、等候时间、是否夜间、大件行李数量,严格按以下规则计算,只输出JSON。
【计算步骤】
第一步:提取参数
- X = 行驶公里数
- T = 等候分钟数(未提及则为0)
- N = 大件行李件数(未提及则为0)
- 夜间 = 文中提到"夜间"/"凌晨"/时间在23:00(含)~次日5:00(不含)则为true,否则false
第二步:计算车费(base_fare)
- 将X向上取整为整数D = ceil(X)
- 若 D ≤ 3:base_fare = 10
- 若 3 < D ≤ 15:base_fare = 10 + (D - 3) × 3
- 若 D > 15:base_fare = 10 + 12 × 3 + (D - 15) × 4
第三步:计算等候费
- wait_fee = floor(T / 5) × 2
第四步:计算夜间加收
- 若夜间=true:night_amount = ceil(base_fare × 0.2)
- 若夜间=false:night_amount = 0
第五步:计算行李费
- luggage_fee = N × 5
第六步:计算总费用
- fare = base_fare + night_amount + wait_fee + luggage_fee
【输出】
只输出一行JSON:
{"fare": 总费用, "base_fare": 车费, "night_surcharge": 是否夜间}
点赞 评论 收藏
分享
查看3道真题和解析 点赞 评论 收藏
分享