<p>You are given an integer array <code>nums</code> and you have to return a new <code>counts</code> array. The <code>counts</code> array has the property where <code>counts[i]</code> is the number of smaller elements to the right of <code>nums[i]</code>.</p> <p> </p> <p><strong>Example 1:</strong></p> <pre> <strong>Input:</strong> nums = [5,2,6,1] <strong>Output:</strong> [2,1,1,0] <strong>Explanation:</strong> To the right of 5 there are <b>2</b> smaller elements (2 and 1). To the right of 2 there is only <b>1</b> smaller element (1). To the right of 6 there is <b>1</b> smaller element (1). To the right of 1 there is <b>0</b> smaller element. </pre> <p><strong>Example 2:</strong></p> <pre> <strong>Input:</strong> nums = [-1] <strong>Output:</strong> [0] </pre> <p><strong>Example 3:</strong></p> <pre> <strong>Input:</strong> nums = [-1,-1] <strong>Output:</strong> [0,0] </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= nums.length <= 10<sup>5</sup></code></li> <li><code>-10<sup>4</sup> <= nums[i] <= 10<sup>4</sup></code></li> </ul>