LeetCode 1458. 两个子序列的最大点积(动态规划,类似编辑距离)

1. 题目

给你两个数组 nums1 和 nums2 。

请你返回 nums1 和 nums2 中两个长度相同的 非空 子序列的最大点积

数组的非空子序列是通过删除原数组中某些元素(可能一个也不删除)后剩余数字组成的序列,但不能改变数字间相对顺序。
比方说,[2,3,5] 是 [1,2,3,4,5] 的一个子序列而 [1,5,3] 不是。

示例 1:
输入:nums1 = [2,1,-2,5], nums2 = [3,0,-6]
输出:18
解释:从 nums1 中得到子序列 [2,-2] ,从 nums2 中得到子序列 [3,-6] 。
它们的点积为 (2*3 + (-2)*(-6)) = 18 。示例 2:
输入:nums1 = [3,-2], nums2 = [2,-6,7]
输出:21
解释:从 nums1 中得到子序列 [3] ,从 nums2 中得到子序列 [7] 。
它们的点积为 (3*7) = 21 。示例 3:
输入:nums1 = [-1,-1], nums2 = [1,1]
输出:-1
解释:从 nums1 中得到子序列 [-1] ,从 nums2 中得到子序列 [1] 。
它们的点积为 -1 。提示:
1 <= nums1.length, nums2.length <= 500
-1000 <= nums1[i], nums2[i] <= 100

点积:
定义 a=[a1,a2,…,an]a = [a1, a2,…, an]a=[a1,a2,,an]b=[b1,b2,…,bn]b = [b1, b2,…, bn]b=[b1,b2,,bn] 的点积为:

a⋅b=∑i=1naibi=a1b1+a2b2+⋯+anbn\mathbf{a} \cdot \mathbf{b}=\sum_{i=1}^{n} a_{i} b_{i}=a_{1} b_{1}+a_{2} b_{2}+\cdots+a_{n} b_{n}ab=i=1naibi=a1b1+a2b2++anbn

这里的 ΣΣΣ 指示总和符号。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/max-dot-product-of-two-subsequences
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • dp[i][j]dp[i][j]dp[i][j] 表示截至nums1第 i 个数,nums2第 j 个数的最大点积
  • if(dp[i-1][j-1] > 0)
    dp[i][j]=max⁡(dp[i−1][j−1]+nums1[i−1]∗nums2[j−1],max⁡(dp[i−1][j],dp[i][j−1]))dp[i][j] = \max(dp[i-1][j-1]+nums1[i-1]*nums2[j-1] ,\max(dp[i-1][j],dp[i][j-1]))dp[i][j]=max(dp[i1][j1]+nums1[i1]nums2[j1],max(dp[i1][j],dp[i][j1]))
  • 否则if(dp[i-1][j-1] <= 0),另立门户nums1[i-1]*nums2[j-1]
    dp[i][j]=max⁡(nums1[i−1]∗nums2[j−1],max⁡(dp[i−1][j],dp[i][j−1]))dp[i][j] = \max(nums1[i-1]*nums2[j-1] ,\max(dp[i-1][j],dp[i][j-1]))dp[i][j]=max(nums1[i1]nums2[j1],max(dp[i1][j],dp[i][j1]))
  • 代码跟编辑距离很类似
class Solution {
public:int maxDotProduct(vector<int>& nums1, vector<int>& nums2) {int i, j, m = nums1.size(), n = nums2.size();vector<vector<int>> dp(m+1, vector<int>(n+1,INT_MIN));// dp[i][j] 表示截至nums1第i个数,nums2第j个数的最大点积for(i = 1; i <= m; ++i){for(j = 1; j <= n; ++j){if(dp[i-1][j-1] > 0)dp[i][j] = max(dp[i-1][j-1]+nums1[i-1]*nums2[j-1] ,max(dp[i-1][j],dp[i][j-1]));elsedp[i][j] = max(nums1[i-1]*nums2[j-1] ,max(dp[i-1][j],dp[i][j-1]));}}return dp[m][n];}
};

36 ms 13.4 MB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编译html成qch,在应用程序编译过程中运行qcollectiongenerator

我一直在研究一个名为RoboJournal的程序很长一段时间。下一版本包含完整的文档;每当用户按F1或单击RoboJournal程序中的帮助项目时&#xff0c;帮助文件将显示在Qt助手中(比简单地打开浏览器窗口以获得一些联机文档更加方便)。在应用程序编译过程中运行qcollectiongenerator在其…

LeetCode 826. 安排工作以达到最大收益(map)

1. 题目 有一些工作&#xff1a;difficulty[i] 表示第i个工作的难度&#xff0c;profit[i]表示第i个工作的收益。 现在我们有一些工人。worker[i]是第i个工人的能力&#xff0c;即该工人只能完成难度小于等于worker[i]的工作。 每一个工人都最多只能安排一个工作&#xff0c…

Unparsed aapt error(s)! Check the console for output

现象&#xff1a;eclipse项目上有红叉&#xff0c;却找不到哪个文件有错。 eclipse中有“problems”的窗口&#xff0c;一般和“console”并列&#xff0c;上面会找到红叉叉的问题所在&#xff08;Unparsed aapt error(s)! Check the console for output"&#xff09; 原因…

LeetCode 837. 新21点(动态规划)

文章目录1. 题目2. 解题2.1 暴力超时2.2 优化1. 题目 爱丽丝参与一个大致基于纸牌游戏 “21点” 规则的游戏&#xff0c;描述如下&#xff1a; 爱丽丝以 0 分开始&#xff0c;并在她的得分少于 K 分时抽取数字。 抽取时&#xff0c;她从 [1, W] 的范围中随机获得一个整数作为…

sql 查看Oralce 数据库连接状态

select sid,serial#,username,program,machine,status from v$session order by username转载于:https://www.cnblogs.com/xinlang/archive/2011/02/28/1966819.html

LeetCode 793. 阶乘函数后K个零(二分查找)

1. 题目 f(x) 是 x! 末尾是0的数量。&#xff08;回想一下 x! 1 * 2 * 3 * ... * x&#xff0c;且0! 1&#xff09; 例如&#xff0c; f(3) 0 &#xff0c;因为3! 6的末尾没有0&#xff1b;而 f(11) 2 &#xff0c;因为11! 39916800末端有2个0。给定 K&#xff0c;找出多…

海量数据库解决方案2011030101

【摘抄】索引的真正意义&#xff1a;索引是优化器在制定执行计划时&#xff0c;为了寻找最优化的路径而使用的战略要素。类型&#xff1a;B-Tree索引位图索引(Bitmap)B-Tree聚簇索引哈希聚簇索引反向键索引位图连接索引基于自定义函数的索引B-Tree索引最主要的特征就是不论表中…

计算机网络划分的标准,计算机网络基础

1.具有统一的网络体系结构、遵循国际标准化协议的计算机网络在第三代网络出现以前各厂家为了霸占市场采用自己独特的技术并开发了自己的网络体系结构网络无法实现不同厂家设备互连这样就阻碍了大范围网络的发展。后来为了实现网络大范围的发展和不同厂家设备的互连1977年国际标…

LeetCode 399. 除法求值(图的DFS搜索)

1. 题目 给出方程式 A / B k, 其中 A 和 B 均为用字符串表示的变量&#xff0c; k 是一个浮点型数字。 根据已知方程式求解问题&#xff0c;并返回计算结果。如果结果不存在&#xff0c;则返回 -1.0。 示例 : 给定 a / b 2.0, b / c 3.0 问题: a / c ?, b / a ?, a / …

vbs调用WebService -- 使用xmlhttp

具体调用的代码&#xff1a; 向指定的文件写入文本, 并指定是否是添加内容 Function Z_WriteFile(sFileName, sText, bAppend)Dim fs, fso, iomodeif bAppend True Theniomode 8 ForAppendingelseiomode 2 ForWritingend ifset fs CreateObject(…

大型软件是否占用计算机内存,电脑系统开机内存占用多少正常

原标题&#xff1a;电脑系统开机内存占用多少正常正常情况下有多少启动内存&#xff1f;如果使用2G内存&#xff0c;则Win7在启动时基本上可以达到50&#xff05;以上&#xff0c;运行点程序肯定会达到80&#xff05;&#xff0c;这是正常的。如果使用4G内存&#xff0c;则Win7…

LeetCode 990. 等式方程的可满足性(并查集)

1. 题目 给定一个由表示变量之间关系的字符串方程组成的数组&#xff0c;每个字符串方程 equations[i] 的长度为 4&#xff0c;并采用两种不同的形式之一&#xff1a;"ab" 或 "a!b"。 在这里&#xff0c;a 和 b 是小写字母&#xff08;不一定不同&#xf…

breakcontinue

break 在循环语句的循环体中&#xff0c;用来提前结束当前循环体&#xff0c;执行循环体后面的语句。 continue 跳过循环体中continue后面尚未执行的语句&#xff0c;直接进行下一次是否执行循环的判定。即只结束本次循环。转载于:https://www.cnblogs.com/happykakeru/archive…

司爱侠计算机英语教程第五版翻译,计算机英语教程 教学课件 作者 司爱侠 张强华 参考译文.doc...

附录1 参考译文Unit 1PC的基本部件1&#xff0e;处理器处理器是计算机的大脑。它也被称为微处理器或CPU。它解释从其它设备接收的全部指令&#xff0c;并执行这些指令&#xff0c;如让打印机打印。一般来讲&#xff0c;处理器的速度越快&#xff0c;计算机通常能够执行指令和任…

LeetCode 1267. 统计参与通信的服务器(计数)

1. 题目 这里有一幅服务器分布图&#xff0c;服务器的位置标识在 m * n 的整数矩阵网格 grid 中&#xff0c;1 表示单元格上有服务器&#xff0c;0 表示没有。 如果两台服务器位于同一行或者同一列&#xff0c;我们就认为它们之间可以进行通信。 请你统计并返回能够与至少一…

Informix IDS 11系统料理(918查验)认证指南,第 4 部分: 功能调优(5)

更新统计信息的调优IDS 使用基于本钱的优化器&#xff1a;当优化器确定盘诘规画时&#xff0c;它为每个可以的规画付与一个本钱&#xff0c;然后选择本钱最低的规画。下面是优化器用于确定每个盘诘规画的本钱的一些要素&#xff1a;与每个文件系统会见相干的 I/O 请求的数目 确…

计算机网络中广域网和局域网的分类是,计算机网络中广域网和局域网的分类是以信息交换方式来划分的。 - 问答库...

问题&#xff1a;[判断题] 计算机网络中广域网和局域网的分类是以信息交换方式来划分的。A . 正确B . 错误You perform a security audit on a server named Server1. You install the Microsoft Network Monitor 3.0 application on Server1.You find th…

Yakuake 2.8 beta1

Toy Posted in AppsRSSTrackback Yakuake 这个终端模拟器我们已经批评过&#xff0c;它可以将一些异常不错的下场融入到你的终端体验中。本日&#xff0c;该办法推出了 2.8 beta1 版&#xff0c;新增了皮肤经管、全屏情势、以及可将会话别离到多个终端窗口等功用。- Download Y…

LeetCode 974. 和可被 K 整除的子数组(哈希map)

1. 题目 给定一个整数数组 A&#xff0c;返回其中元素之和可被 K 整除的&#xff08;连续、非空&#xff09;子数组的数目。 示例&#xff1a; 输入&#xff1a;A [4,5,0,-2,-3,1], K 5 输出&#xff1a;7 解释&#xff1a; 有 7 个子数组满足其元素之和可被 K 5 整除&…

怎样用计算机添加文章标题,计算机论文题目怎么定-易指做帮写网

1.相关理论基础分析1.1宠物救助系统理论阐述在很多区域&#xff0c;猫和狗等小动物均处于一种散养的状态&#xff0c;这样一来就使其成为流浪动物&#xff0c;无家可归&#xff0c;在城市的街道上游走。此外&#xff0c;由于流浪猫狗的繁衍速度较快&#xff0c;壮大流浪动物的群…