react-redux操作過程中,出現的問題:Uncaught ReferenceError: Cannot access ‘SET_XXXXX‘ before initialization
阿新 • • 發佈:2020-12-26
故心故心故心故心小故衝啊
文章目錄
題目:在陣列中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個陣列中的逆序對的總數。
示例 1:
輸入: [7,5,6,4]
輸出: 5
解法一:雙for暴力解法(超出時間限制)
//計數
var count = 0;
//雙for迴圈(暴力解法)
for(var i =0;i<nums.length;i++){
for(var j = i+1;j<nums.length;j++){
if(nums[i]>nums[j]){
count++;
}
}
}
return count;
解法二:歸併排序(正確解法)
在歸併中並排序好了
*/
var reversePairs = function(nums) {
let result = 0
//歸併排序
function mergeSort(arr){
if(arr.length < 2) return arr
let len = arr.length
let mid = Math.floor(len/2)
return merge(mergeSort(arr.slice(0, mid)), mergeSort(arr.slice(mid)))
}
function merge(left, right){
let res = []
//直到長度為0時 ,才不會去比較
while(left. length && right.length){
//在排序好的左右陣列中,若是左邊第一個大於右邊第一個
if(left[0] <= right[0]){
//刪除左邊第一個
res.push(left.shift())
}else{
//若是小於
//逆陣列數量加+1,並刪除右邊第一個
result += left.length
res.push(right.shift())
}
}
return res.concat(left, right)
}
mergeSort(nums)
return result
}