時間限制:c/c++ 2秒,其他語言4秒在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。 即輸出p%1000000007空間限制:c/c++ 32m,其他語言64m
熱度指數:577791
本題知識點: 陣列
輸入描述:
題目保證輸入的陣列中沒有的相同的數字
資料範圍:
對於%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 二維陣列中的查詢
在乙個二維整數中 每個一維整數的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序進行排序。請完成乙個函式,輸入這樣的乙個二維尺寸和乙個整數,判斷陣列中是否包含該整數。我們利用從左到向左向右,從上到下遞增。特點的 我們從左下角開始查詢。如果目標值大於當前值,值當前則向右移動...