码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-01-30 00:29:45      阅读:1094      评论:0      收藏:0      [点我收藏+]

标签:情况   def   bsp   oal   ati   wap   oba   elf   排列   

题解:

在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 ---找规律

标签:情况   def   bsp   oal   ati   wap   oba   elf   排列   

原文地址:https://www.cnblogs.com/wuxiangli/p/8379877.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!