2019-08-17剑指|2019-08-17剑指 数组中的逆序对

33min,用sublime写的java,很多语法错误。
1.length属性
2.int []

public class Solution { static int cnt=0; public int InversePairs(int [] array) { int[] tmp=new int[array.length]; mergesort(array,0,array.length-1,tmp); return cnt; }public void mergesort(int [] array,int left,int right,int []tmp){ if(right==left) return; #递归忘记递归条件了 int mid=(left+right)>>1; mergesort(array,left,mid,tmp); mergesort(array,mid+1,right,tmp); int p=left,q=mid+1,i=left; while(p<=mid||q<=right){ if(q>right||(p<=mid &&array[p]<=array[q])) tmp[i++]=array[p++]; else { cnt+=mid-p+1; cnt%=1000000007; tmp[i++]=array[q++]; } } for(int j=left; j<=right; j++) array[j]=tmp[j]; } }

【2019-08-17剑指|2019-08-17剑指 数组中的逆序对】注意要点:
1.归并那里的条件很简洁,是很重要的点
2.逆序对的计算用一行就可以解决了,真的出其不意

    推荐阅读