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))。

相关内容

热门资讯

8次性普及“hhpoker辅助... 《8次性普及“hhpoker辅助软件是真的”介绍作弊开挂辅助助手(竟然真的是有挂)》 hhpoker...
两分钟了解!万能透视辅助器免费... 两分钟了解!万能透视辅助器免费版,pokermaster修改器,存在挂教程(竟然有挂);大家肯定在之...
第9分钟透视“wepoker数... 第9分钟透视“wepoker数据分析”德州局透视脚本(分享开挂透视辅助攻略)1、让任何用户在无需德州...
热点讨论!晋中胡乐辅助工具(透... 热点讨论!晋中胡乐辅助工具(透视)新版2025教程(必备作弊开挂辅助安装);晋中胡乐辅助工具辅助器中...
第6次性普及“四川熊猫游戏辅助... 《第6次性普及“四川熊猫游戏辅助器”了解作弊开挂辅助器(本然是真的有挂)》 四川熊猫游戏辅助器软件透...
第八分钟了解!蛮王大厅辅助,w... 第八分钟了解!蛮王大厅辅助,wejoker辅助机器人,安装教程(都是是有挂)是一款可以让一直输的玩家...
九分钟透视“wepoker俱乐... 九分钟透视“wepoker俱乐部辅助”如何判断wpk辅助软件的真假(分享开挂透视辅助教程)1、如何判...
分享一款!指尖四川辅助破解版苹... 您好,指尖四川辅助破解版苹果这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多...
十次性普及“天天互娱网络科技”... 十次性普及“天天互娱网络科技”专业作弊开挂辅助助手(一向真的有挂);天天互娱网络科技是一种具有地方特...
5分钟了解!欢乐茶馆挂有,po... 5分钟了解!欢乐茶馆挂有,pokemmo辅助脚本,2025教程(本来是有挂);人气非常高,ai更新快...