leetcode 775. Global and Local Inversions ---找规律

Posted wuxiangli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 775. Global and Local Inversions ---找规律相关的知识,希望对你有一定的参考价值。

题解:

在global和local出现的情况相等时候,会发现,将local中出现逆序的情况反转,就能够得到一个升序排列的数组,

否则,如果swap两个逆序之后,不是升序的,会导致global的个数大于local的个数,如[1,2,0]中,2和0 交换后,不是升序

排列,除了2大于0,global的统计中1也大于0,因此glboal要比local的次数要多

 

bool isIdealPermutation(vector<int>& A) {

    if(A.size()<=1) return true;
    for(int i=1;i<A.size();i++)
    {
        if(A[i]==A[i-1]-1)
        {
            swap(A[i],A[i-1]);
        }
        else if((A[i]==A[i-1]+1)||(A[i]==A[i-1]+2))
        {
            continue;
        } else
        {
            return false;
        }

    }
    return true;
}

  

    def isIdealPermutation(self,A):
        """
        :type A: List[int]
        :rtype: bool
        """
        if len(A)<=1:
            return True
        for i in xrange(1,len(A),1):
            if A[i]==A[i-1]-1:
                tmp=A[i]
                A[i]=A[i-1]
                A[i-1]=A[i]
            elif A[i]==A[i-1]+1 or A[i]==A[i-1]+2:
                continue
            else:
                return False
        return True

  

以上是关于leetcode 775. Global and Local Inversions ---找规律的主要内容,如果未能解决你的问题,请参考以下文章

775. Global and Local Inversions

775. Global and Local Inversions

LeetCode 0775. 全局倒置与局部倒置

[LeetCode] Global and Local Inversions 全局与局部的倒置

LeetCode 775 全局倒置与局部倒置[数组 数学] HERODING的LeetCode之路

SSG (slow global), TTG (typical global) and FFG (fast global)