TomoLink
CompaniesTCSData Structures & AlgorithmsReverse Pairs
DSA
HardArray

Reverse Pairs

arraybinary searchdivide and conquer

Problem Statement

Given an integer array nums , return the number of reverse pairs in the array .

A reverse pair is a pair (i, j) where:

0 <= i < j < nums.length and

nums[i] > 2 * nums[j] .

Examples

Example 1
Input: nums = [1,3,2,3,1]
Output: 2
The reverse pairs are: (1, 4) --> nums[1] = 3, nums[4] = 1, 3 > 2 * 1 (3, 4) --> nums[3] = 3, nums[4] = 1, 3 > 2 * 1
Example 2
Input: nums = [2,4,3,5,1]
Output: 3
The reverse pairs are: (1, 4) --> nums[1] = 4, nums[4] = 1, 4 > 2 * 1 (2, 4) --> nums[2] = 3, nums[4] = 1, 3 > 2 * 1 (3, 4) --> nums[3] = 5, nums[4] = 1, 5 > 2 * 1

Constraints

1 <= nums.length <= 5 * 10 ^4
-2 ^31 <= nums[i] <= 2 ^31 - 1
😤
Hard
Difficulty
Topic Info
ModuleDSA
CategoryArray
Sub-topicBinary Search
Tags
arraybinary searchdivide and conquerbinary indexed treesegment treemerge sortordered set
Navigation
Reverse Pairs [Hard] | TCS Dsa | TomoLink