劍指offer JZ35陣列中的逆序對

2021-10-08 17:19:47 字數 1367 閱讀 3131

時間限制:c/c++ 2秒,其他語言4秒

空間限制:c/c++ 32m,其他語言64m

熱度指數:577791

本題知識點: 陣列

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。 即輸出p%1000000007

輸入描述:

題目保證輸入的陣列中沒有的相同的數字

資料範圍:

對於%50的資料,size<=10^4

對於%75的資料,size<=10^5

對於%100的資料,size<=2*10^5

示例1

輸入

1,2,3,4,5,6,7,0

輸出
//用歸併排序來做

var count =0;

function

inversepairs

(data)

mergesort

(data,

0, data.length-1)

;return count;

}function

mergesort

(array, start, end)

let mid = math.

floor

((start + end)/2

);mergesort

(array, start, mid)

;mergesort

(array, mid+

1, end)

;merge

(array,start, mid, end);}

function

merge

(arr, low, middle, high)

//對兩個陣列排序合併得到乙個陣列

var temparr=

newarray

(high-low+1)

;var k =0;

var i = low;

var j = middle+1;

while

(i<=middle && j<=high)

if(arr[j]

< arr[i])}

while

(i<=middle)

while

(j<=high)

//將temparr賦值給原來的陣列arr

for(

let i=low,k=

0; i<=high; i++

,k++

)}

劍指 Offer JZ35 陣列中的逆序對

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 看下面鏈結吧,最近有些忙,暫時沒時間仔細研究這道題,之後再回來看。96bd6684e04a44eb...

劍指35 陣列中的逆序對

劍指35 陣列中的逆序對 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 輸入描述 題目保證輸入的陣列中沒有的相同的數字 示例1輸入 1,2,3,...

劍指Offer JZ1 二維陣列中的查詢

在乙個二維整數中 每個一維整數的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序進行排序。請完成乙個函式,輸入這樣的乙個二維尺寸和乙個整數,判斷陣列中是否包含該整數。我們利用從左到向左向右,從上到下遞增。特點的 我們從左下角開始查詢。如果目標值大於當前值,值當前則向右移動...