leetcode解題之陣列中的逆序對

2021-10-05 10:49:41 字數 1014 閱讀 5110

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。

示例 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 不是子陣列。開始對動態規劃的...