第315題計算右側小於當前元素的個數

2021-10-09 07:01:21 字數 994 閱讀 6886

題目**

題目描述

給定乙個整數陣列 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...