8.23饿了么笔试
第二题: 一个数组的权值是最大值减最小值
给一个数组,你可以切分成若干个子数组,求最大权值和
样例:[1,1,4,3,5] 输出7
from functools import lru_cache
import math
a = [1, 1, 4, 3, 5]
@lru_cache(None)
def dfs(i: int) -> int:
res = 0
for j in range(i):
min_val = min(a[j: i+1])
max_val = max(a[j: i+1])
# print(min_val, max_val)
res = max(res, dfs(j - 1) + max_val - min_val)
# print(res)
return res
print(dfs(len(a) - 1))
今晚没参加 自己试了一下可以过第一个样例 #饿了么笔试#
给一个数组,你可以切分成若干个子数组,求最大权值和
样例:[1,1,4,3,5] 输出7
from functools import lru_cache
import math
a = [1, 1, 4, 3, 5]
@lru_cache(None)
def dfs(i: int) -> int:
res = 0
for j in range(i):
min_val = min(a[j: i+1])
max_val = max(a[j: i+1])
# print(min_val, max_val)
res = max(res, dfs(j - 1) + max_val - min_val)
# print(res)
return res
print(dfs(len(a) - 1))
今晚没参加 自己试了一下可以过第一个样例 #饿了么笔试#
全部评论
Cache要加none吗?
排序直接减是不是可以
相关推荐
今天 11:18
门头沟学院 Java 创作小队长:你的批判视角非常犀利,尤其“结果决定叙事权”的洞察非常精准,哈哈想邀请你来成为我们的创作者🫰
但我想补充一个视角:许多分享者的初衷并非炫耀结果或者苦难,我更愿意相信他们在这个过程中付出了很多,在这场战役结束后,他们迫不及待地想被看到,记录和分享都是给自己的一个交代,而非真的教会别人什么,他们的初衷未必是想制造焦虑。求职市场的残酷、经济环境的下行、世俗价值观才是这种叙事流行的土壤,作为一个普通人无法抵抗洪流。
感谢你发起这场讨论。理想的社区,既需要这样锐利的批判来保持清醒,你的洞察非常犀利,也许会启发一些人,能逐渐改变这种叙事~
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享