编辑代码

package main
import "fmt"
func main () {
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
    fmt.Println("Hello JSRUN!   \n\n         - from Golang .")
}

func minSwap(nums1, nums2 []int) int {
    n := len(nums1)
    a, b := 0, 1
    for i := 1; i < n; i++ {
        at, bt := a, b
        a, b = n, n
        if nums1[i] > nums1[i-1] && nums2[i] > nums2[i-1] {
            a = min(a, at)
            b = min(b, bt+1)
        }
        if nums1[i] > nums2[i-1] && nums2[i] > nums1[i-1] {
            a = min(a, bt)
            b = min(b, at+1)
        }
    }
    return min(a, b)
}

func min(a, b int) int {
    if a > b {
        return b
    }
    return a
}

// 作者:LeetCode-Solution
// 链接:https://leetcode.cn/problems/minimum-swaps-to-make-sequences-increasing/solution/shi-xu-lie-di-zeng-de-zui-xiao-jiao-huan-ux2y/
// 来源:力扣(LeetCode)
// 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。