当前位置: 首页 > news >正文

网站可以做第三方检测报告关键词歌词打印

网站可以做第三方检测报告,关键词歌词打印,松江 网站建设公司,国家级门户网站有哪些Every day a Leetcode 题目来源:3259. 超级饮料的最大强化能量 解法1:记忆化搜索 本题的状态定义 dfs(i,j)。其中 j0,1,分别表示最后选的是 energyDrinkA[i] 还是 energyDrinkB[i]。 为方便实现,把 energyDrinkA 和 energyDri…

Every day a Leetcode

题目来源:3259. 超级饮料的最大强化能量

解法1:记忆化搜索

本题的状态定义 dfs(i,j)。其中 j=0,1,分别表示最后选的是 energyDrinkA[i] 还是 energyDrinkB[i]。

为方便实现,把 energyDrinkA 和 energyDrinkB 加到一个长为 2 的二维数组 c 中。

分类讨论:

  • 继续选 c[j] 中的元素,那么下一个数选 c[j][i−1],需要解决的问题为:从下标 [0,i−1] 中选数字,且最后选的是 c[j] 中的元素的情况下,所选元素之和的最大值,即 dfs(i−1,j)。

  • 改成选 c[j⊕1] 中的元素,那么下一个数选 c[j⊕1][i−2],需要解决的问题为:从下标 [0,i−2] 中选数字,且最后选的是 c[j⊕1] 中的元素的情况下,所选元素之和的最大值,即 dfs(i−2,j⊕1)。其中 ⊕ 为异或运算,通过异或 1,可以把 0 变成 1,把 1 变成 0。

代码:

#
# @lc app=leetcode.cn id=3259 lang=python3
#
# [3259] 超级饮料的最大强化能量
## @lc code=start
class Solution:def maxEnergyBoost(self, energyDrinkA: List[int], energyDrinkB: List[int]) -> int:n = len(energyDrinkA)energyDrink = (energyDrinkA, energyDrinkB)@cache  # 缓存装饰器,避免重复计算 dfs 的结果(记忆化)def dfs(i: int, j: int) -> int:if i < 0:return 0res1 = dfs(i - 1, j) + energyDrink[j][i]res2 = dfs(i - 2, j ^ 1) + energyDrink[j][i]return max(res1, res2)return max(dfs(n - 1, 0), dfs(n - 1, 1))
# @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n),其中 n 为数组 energyDrinkA/energyDrinkB 的长度。由于每个状态只会计算一次,动态规划的时间复杂度 = 状态个数 × 单个状态的计算时间。本题状态个数等于 O(n),单个状态的计算时间为 O(1),所以总的时间复杂度为 O(n)。

空间复杂度:O(n),其中 n 为数组 energyDrinkA/energyDrinkB 的长度。保存多少状态,就需要多少空间。

解法2:动态规划

代码:

/** @lc app=leetcode.cn id=3259 lang=cpp** [3259] 超级饮料的最大强化能量*/// @lc code=start
class Solution
{
public:long long maxEnergyBoost(vector<int> &energyDrinkA, vector<int> &energyDrinkB){int n = energyDrinkA.size();vector<array<long long, 2>> dp(n + 2);// 状态转移for (int i = 0; i < n; i++){dp[i + 2][0] = max(dp[i + 1][0], dp[i][1]) + energyDrinkA[i];dp[i + 2][1] = max(dp[i + 1][1], dp[i][0]) + energyDrinkB[i];}return max(dp[n + 1][0], dp[n + 1][1]);}
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n),其中 n 为数组 energyDrinkA/energyDrinkB 的长度。

空间复杂度:O(n),其中 n 为数组 energyDrinkA/energyDrinkB 的长度。

http://www.shuangfujiaoyu.com/news/30671.html

相关文章:

  • 东莞电子网站建设哪儿有效果最好的推广软件
  • 无锡网站建设原则360优化大师官方最新
  • 下载网站上的表格 怎么做百度店面定位怎么申请
  • 网站建设中正在为您转大型网站建设方案
  • 网站设置主网seo建设
  • 小语种网站建设公司成都seo正规优化
  • 做医疗信息网站的域名网络营销的效果是什么
  • 网站开发模式名词详情页页面页面
  • 怎么在58上做公司网站百度seo怎么把关键词优化上去
  • wordpress万篇文章北京建站优化
  • 网站前端模板网络媒体推广方案
  • 个人网站的制作教程交换友情链接的好处
  • 建站的好公司大概需要多少钱
  • 科技网站模板免费下载网站建站设计
  • 自动优化网站建设推广普通话的重要意义
  • 网站正在建设中的素材动图seo咨询推广
  • 怎么做不用数据库的网站seo网络推广专员招聘
  • 旅游网站管理系统论文职业技能培训网站
  • 网站搭建的人怎样优化标题关键词
  • 长清做网站手机百度下载安装
  • 网站权重值电脑优化软件排行榜
  • 网站淘宝客 难做如何建立网址
  • 做优惠卷网站网页制作软件下载
  • php网站的数据库怎么做备份优化公司网站排名
  • 襄阳专业做网站google推广技巧
  • 徐州seo网站推广市场推广计划书
  • 出口俄罗斯的外贸公司百度seo推广怎么收费
  • 做试用网站的原理申请自己的网站
  • 常州网站建设平台优化软件下载
  • 西安网页制作与设计品牌搜索引擎服务优化