315.Count-of-Smaller-Numbers-After-Self

315. Count of Smaller Numbers After Self

题目地址

https://leetcode.com/problems/count-of-smaller-numbers-after-self/

题目描述

You are given an integer array nums and you have to return a new counts array. The counts array has the property where counts[i] is the number of smaller elements to the right of nums[i].

Example:
Input: [5,2,6,1]
Output: [2,1,1,0] 
Explanation:
To the right of 5 there are 2 smaller elements (2 and 1).
To the right of 2 there is only 1 smaller element (1).
To the right of 6 there is 1 smaller element (1).
To the right of 1 there is 0 smaller element.

代码

Approach #0 Binary Indexed Tree

Approach #1 BST

Every node will maintain a val sum recording the total of number on it's left bottom side, dup counts the duplication. For example, [3, 2, 2, 6, 1], from back to beginning,we would have:

Approach #2 Merge Sort

The smaller numbers on the right of a number are exactly those that jump from its right to its left during a stable sort. So I do mergesort with added tracking of those right-to-left jumps.

Approach #3 Merge Sort

Approach #4 Segment tree

Last updated

Was this helpful?