Leetcode3218. 切蛋糕的最小总开销 I
创始人
2024-11-19 05:34:48
0

Every day a Leetcode

题目来源:3218. 切蛋糕的最小总开销 I

解法1:记忆化搜索

对于两个数组horizontalCut和verticalCut,简称h和v,若v数组已经切了j次,则当切h[i]刀时,cost为h[i] * (j+1)。

很明显,要使总cost最小,对于两个数组,cost花费越大的那一行或者那一列,应该优先切除,因此先从大到小排序预处理。

代码:

# # @lc app=leetcode.cn id=3218 lang=python3 # # [3218] 切蛋糕的最小总开销 I #  # @lc code=start class Solution:     def minimumCost(self, m: int, n: int, horizontalCut: List[int], verticalCut: List[int]) -> int:         horizontalCut.sort(reverse=True)         verticalCut.sort(reverse=True)          m -= 1         n -= 1         @cache         def dfs(i, j):             if i == m and j == n:                 return 0             if i == m:                 return dfs(i, j + 1) + verticalCut[j] * (i + 1)             if j == n:                 return dfs(i + 1 , j) + horizontalCut[i] * (j + 1)                          return min(dfs(i, j + 1) + verticalCut[j] * (i + 1), dfs(i+ 1, j) + horizontalCut[i] * (j + 1))                  return dfs(0, 0) # @lc code=end 

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(m2+n2+2*(m+n))。

空间复杂度:O(m2+n2+2*(m+n))。

相关内容

热门资讯

查到实测!中至余干小程序破解,... 查到实测!中至余干小程序破解,多乐手游辅助软件,透牌教程(有挂方略)是一款可以让一直输的玩家,快速成...
揭秘真相“人皇辅助软件下载”介... 您好:人皇辅助软件下载这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
盘点十款!湛江吴川0759程序... 您好,雀友会万能辅助器这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在...
避坑细节“暗宝辅助好用”解谜开... 避坑细节“暗宝辅助好用”解谜开挂作弊辅助软件(好像是真的有挂);1、这是跨平台的暗宝辅助好用黑科技,...
最新通报!老友跑得快辅助小说最... 最新通报!老友跑得快辅助小说最新章节,功夫川麻辅助,规律教程(有挂分析)是一款可以让一直输的玩家,快...
9分钟了解“菠萝辅助器免费版的... 9分钟了解“菠萝辅助器免费版的功能介绍”科普开挂作弊辅助工具(原来真的是有挂);菠萝辅助器免费版的功...
分享一款!微信开发辅助工具,钱... 分享一款!微信开发辅助工具,钱塘十三水可以开挂辅助,大神讲解(有挂秘籍)是一款可以让一直输的玩家,快...
揭秘攻略“玉海楼茶苑辅助工具”... 揭秘攻略“玉海楼茶苑辅助工具”推荐开挂作弊辅助器(一直真的有挂);玉海楼茶苑辅助工具中的10万兆豆可...
玩家必备攻略!欢聚水鱼辅助插件... 玩家必备攻略!欢聚水鱼辅助插件,闽游app破解,技巧教程(有挂分析);1、让任何用户在无需AI插件第...
最新技巧“微信边锋辅助”讲解开... 【福星临门,好运相随】;最新技巧“微信边锋辅助”讲解开挂作弊辅助器(总是是有挂);暗藏猫腻,小编详细...