每日一题801. 使序列递增的最小交换次数
Posted 王六六同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题801. 使序列递增的最小交换次数相关的知识,希望对你有一定的参考价值。
输入: nums1 = [1,3,5,4], nums2 = [1,2,3,7]
输出: 1
解释:
交换 A[3] 和 B[3] 后,两个数组如下:
A = [1, 3, 5, 7] , B = [1, 2, 3, 4]
两个数组均为严格递增的。
输入: nums1 = [0,3,5,8,9], nums2 = [2,1,4,6,9]
输出: 1
动态规划:
首先,构建一个dp[i][j]
,其中:
- i:表示所在nums1和nums2的位置index;
- j:只有两类值,0表示不交换;1表示交换;
【综上所述】
dp[i][0] 表示在nums1[i]和nums2[i]位置处,如果不交换位置的话,当前累积的操作次数。
dp[i][1] 表示在nums1[i]和nums2[i]位置处,如果交换位置的话,当前累积的操作次数。
首先,我们来初始化第1个位置,如果不进行交换,那么累积操作次数等于0,即:dp[0][0]=0;如果进行交换,那么累积操作次数等于1,即:dp[0][1]=1;
大神题解:
以上是关于每日一题801. 使序列递增的最小交换次数的主要内容,如果未能解决你的问题,请参考以下文章
力扣 每日一题 801. 使序列递增的最小交换次数难度:困难,rating: 2066(动态规划)
LeetCode 801 使序列递增的最小交换次数[动态规划] HERODING的LeetCode之路
LeetCode 801 使序列递增的最小交换次数[动态规划] HERODING的LeetCode之路
LeetCode 870. 优势洗牌(根据数值对索引排序)/ 856. 括号的分数(栈) / 801. 使序列递增的最小交换次数(动态规划)
LeetCode 870. 优势洗牌(根据数值对索引排序)/ 856. 括号的分数(栈) / 801. 使序列递增的最小交换次数(动态规划)
801. Minimum Swaps To Make Sequences Increasing 为使两个数组严格递增,所需要的最小交换次数