在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。
示例 1
:輸入:[7
,5,6
,4]輸出:
5
最近的題都超出知識儲備了,學習記錄一下吧,官方題解
解釋的特別詳細
class
solution
int[
] tem =
newint
[len]
;//歸併排序
return
reversepairs
(copy,
0,len-
1,tem);}
private
intreversepairs
(int
nums,
int left,
int right,
int[
] tem)
int crosspairs =
mergeandcount
(nums,left,mid,right,tem)
;return leftpairs+rightpairs+crosspairs;
}private
intmergeandcount
(int
nums,
int left,
int mid,
int right,
int[
] tem)
int i=left,j=mid+1;
for(
int k=left;k<=right;k++
)else
if(j==right+1)
else
if(tem[i]
<=tem[j]
)else
}return count;
}}
leetcode解題之山脈陣列中查詢目標值
這是乙個 互動式問題 給你乙個 山脈陣列 mountainarr,請你返回能夠使得 mountainarr.get index 等於 target 最小 的下標 index 值。如果不存在這樣的下標 index,就請返回 1。何為山脈陣列?如果陣列 a 是乙個山脈陣列的話,那它滿足如下條件 首先,a...
leetcode解題之排序陣列
給你乙個整數陣列 nums,請你將該陣列公升序排列。示例 1 輸入 nums 5 2,3 1 輸出 1,2,3,5 示例 2 輸入 nums 5 1,1 2,0 0 輸出 0,0,1,1,2,5 1 nums.length 50000 50000 nums i 50000 主要考察的是排序演算法的基...
leetcode解題之乘積最大子陣列
給你乙個整數陣列 nums 請你找出陣列中乘積最大的連續子陣列 該子陣列中至少包含乙個數字 並返回該子陣列所對應的乘積。示例 1 輸入 2 3,2,4 輸出 6 解釋 子陣列 2,3 有最大乘積 6。示例 2 輸入 2,0,1 輸出 0解釋 結果不能為 2 因為 2 1 不是子陣列。開始對動態規劃的...