801. Minimum Swaps To Make Sequences Increasing 为使两个数组严格递增,所需要的最小交换次数
Posted 排序和map
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了801. Minimum Swaps To Make Sequences Increasing 为使两个数组严格递增,所需要的最小交换次数相关的知识,希望对你有一定的参考价值。
[抄题]:
We have two integer sequences A
and B
of the same non-zero length.
We are allowed to swap elements A[i]
and B[i]
. Note that both elements are in the same index position in their respective sequences.
At the end of some number of swaps, A
and B
are both strictly increasing. (A sequence is strictly increasing if and only if A[0] < A[1] < A[2] < ... < A[A.length - 1]
.)
Given A and B, return the minimum number of swaps to make both sequences strictly increasing. It is guaranteed that the given input always makes it possible.
Example: Input: A = [1,3,5,4], B = [1,2,3,7] Output: 1 Explanation: Swap A[3] and B[3]. Then the sequences are: A = [1, 3, 5, 7] and B = [1, 2, 3, 4] which are both strictly increasing.
[暴力解法]:
时间分析:
空间分析:
[优化后]:
时间分析:
空间分析:
[奇葩输出条件]:
[奇葩corner case]:
[思维问题]:
对dp很恐惧,不知道交换以后应该怎么检查
[英文数据结构或算法,为什么不用别的数据结构或算法]:
[一句话思路]:
[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):
[画图]:
[一刷]:
[二刷]:
[三刷]:
[四刷]:
[五刷]:
[五分钟肉眼debug的结果]:
[总结]:
[复杂度]:Time complexity: O() Space complexity: O()
[算法思想:递归/分治/贪心]:
[关键模板化代码]:
[其他解法]:
[Follow Up]:
[LC给出的题目变变变]:
[代码风格] :
以上是关于801. Minimum Swaps To Make Sequences Increasing 为使两个数组严格递增,所需要的最小交换次数的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode] Minimum Swaps To Make Sequences Increasing 使得序列递增的最小交换
[LeetCode] 1963. Minimum Number of Swaps to Make the String Balanced
力扣 每日一题 801. 使序列递增的最小交换次数难度:困难,rating: 2066(动态规划)