每日一题801. 使序列递增的最小交换次数

Posted 王六六同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题801. 使序列递增的最小交换次数相关的知识,希望对你有一定的参考价值。

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 为使两个数组严格递增,所需要的最小交换次数