关注
T4
T2的plus版,思想是一样的。两个长为n的数组,同位置元素可以交换。要求两数组各自的差值数组之和加起来最大,求最小的交换次数。首先注意我们的主要目标是差值数组之和最大,交换次数最小只是其次。同样使用动态规划,sums_n, sums_y分别表示末尾元素保持原位置和交换的情况下最大的差值数组之和,cnts_n, cnts_y对应二者的交换次数。设join_n, join_y分别是当前元素保持原位置和交换的情况下和上一个元素的差值之和,那么根据上一个元素是否交换,有转移方程
sums_n = max(sums_n + join_n, sums_y + join_y)
sums_y = max(sums_n + join_y, sums_y + join_n)
而cnts_n, cnts_y跟着赋值即可,如果括号里二者相等,在优先选择交换次数较小的。
注意sums_n/sums_y逻辑上同时计算,使用临时变量避免前者的计算影响后者。
时间复杂度O(n),空间复杂度O(1)。
查看原帖
点赞 3
相关推荐
09-13 10:40
门头沟学院 Java 点赞 评论 收藏
分享
08-15 01:16
Python 
点赞 评论 收藏
分享


点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招报数:你投了多少家公司? #
13141次浏览 123人参与
# 我的租房踩坑经历 #
165710次浏览 1118人参与
# 小红书校招直播来了 #
77037次浏览 456人参与
# 上班摸鱼,你都在干些什么? #
2479次浏览 58人参与
# 深信服求职进展汇总 #
220723次浏览 1748人参与
# 秋招的嫡长offer #
11663次浏览 125人参与
# 你面试被问到过哪些不会的问题? #
7217次浏览 323人参与
# 电网笔面经互助 #
44671次浏览 425人参与
# 考研对你找工作产生了哪些影响? #
39562次浏览 226人参与
# 为什么国企只招应届生 #
196370次浏览 1209人参与
# 职场破冰,你们都聊什么? #
987次浏览 24人参与
# 聊聊这家公司值得去吗 #
535620次浏览 3580人参与
# 为了求职,我做过的疯狂伪装 #
2316次浏览 39人参与
# 机械笔面试考察这些知识点 #
8690次浏览 89人参与
# 当你面对裁员会如何? #
303397次浏览 2559人参与
# 我的第一份实习怎么找的 #
152009次浏览 1465人参与
# 实习生应该准时下班吗 #
278400次浏览 1560人参与
# 你觉得早上几点上班合适? #
80511次浏览 327人参与
# 嵌入式岗知多少 #
52441次浏览 522人参与
# 实习要如何选择和准备? #
112701次浏览 1429人参与
# 秋招最大的收获是什么? #
42426次浏览 348人参与