題目**
題目描述
給定乙個整數陣列 nums,按要求返回乙個新陣列 counts。陣列 counts 有該性質: counts[i] 的值是 nums[i] 右側小於 nums[i] 的元素的數量。
示例:
輸入:nums = [5,2,6,1]
輸出:[2,1,1,0]
解釋:5 的右側有 2 個更小的元素 (2 和 1)
2 的右側僅有 1 個更小的元素 (1)
6 的右側有 1 個更小的元素 (1)
1 的右側有 0 個更小的元素
0 <= nums.length <= 10^5
-10^4 <= nums[i] <= 10^4
class
solution;}
int[
] count =
newint
[n];
sort
(arr, count,
0, n -
1, aux)
; list
list =
newarraylist()
;for
(int i =
0; i < n; i++
)return list;
}private
void
sort
(int
arr,
int[
] count,
int lo,
int hi,
int[
] aux)
int i = lo, j = mid +1;
for(
int k = lo; k <= hi; k++
)else
if(j == hi +
1|| aux[i][0
]<= aux[j][0
])else}}
}
參考: 315 計算右側小於當前元素的個數
給定乙個整數陣列 nums,按要求返回乙個新陣列 counts。陣列 counts 有該性質 counts i 的值是nums i 右側小於nums i 的元素的數量。示例 輸入 5,2,6,1 輸出 2,1,1,0 解釋 5 的右側有2個更小的元素 2 和 1 2 的右側僅有1個更小的元素 1 6...
315 計算右側小於當前元素的個數
給定乙個整數陣列 nums,按要求返回乙個新陣列 counts。陣列 counts 有該性質 counts i 的值是 nums i 右側小於 nums i 的元素的數量。示例 輸入 5,2,6,1 輸出 2,1,1,0 解釋 5 的右側有 2 個更小的元素 2 和 1 2 的右側僅有 1 個更小的...
LC 315 計算右側小於當前元素的個數
傳送門 思路 離散化權值樹狀陣列。顯然因為可能存在負數,所以先離散化一波,然後從右到左遍歷,將詢問值儲存起來,然後更新即可。define lowbit x x x class solution int query int x return ans vector int countsmaller ve...