剑指Offer(Java版)第四十题:在数组中的两个数字,如果前面一个数字大于后面的数字, 则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。 并将P对1000000007取模
Posted 桌子哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer(Java版)第四十题:在数组中的两个数字,如果前面一个数字大于后面的数字, 则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。 并将P对1000000007取模相关的知识,希望对你有一定的参考价值。
/*
在数组中的两个数字,如果前面一个数字大于后面的数字,
则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。
并将P对1000000007取模的结果输出。 即输出P%1000000007
*/
import java.util.*;
public class Class40 {
public int InversePairs(int[] array){
int length = array.length;
int P = 0;
for(int i = 0; i < length - 1; i++){
for(int j = i + 1; j < length; j++){
if(array[i] > array[j]){
P++;
}
}
}
int chushu = 1000000007;
return P%chushu;
}
public void test(){
int[] array = new int[]{1,2,3,4,5,6,7,0};
System.out.println(InversePairs(array));
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Class40 c = new Class40();
c.test();
}
}
以上是关于剑指Offer(Java版)第四十题:在数组中的两个数字,如果前面一个数字大于后面的数字, 则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。 并将P对1000000007取模的主要内容,如果未能解决你的问题,请参考以下文章