有多少小於當前數字的數字

2021-10-25 06:39:13 字數 718 閱讀 5879

給你乙個陣列 nums,對於其中每個元素 nums[i],請你統計陣列中比它小的所有數字的數目。

換而言之,對於每個 nums[i] 你必須計算出有效的 j 的數量,其中 j 滿足 j != i 且 nums[j] < nums[i] 。

以陣列形式返回答案。

示例 1:

輸入:nums = [8,1,2,2,3]

輸出:[4,0,1,1,3]

解釋:對於 nums[0]=8 存在四個比它小的數字:(1,2,2 和 3)。

對於 nums[1]=1 不存在比它小的數字。

對於 nums[2]=2 存在乙個比它小的數字:(1)。

對於 nums[3]=2 存在乙個比它小的數字:(1)。

對於 nums[4]=3 存在三個比它小的數字:(1,2 和 2)。

示例 2:

輸入:nums = [6,5,4,8]

輸出:[2,1,0,3]

示例 3:

輸入:nums = [7,7,7,7]

輸出:[0,0,0,0]

答案

class

solution

//從nums[i]獲得i位的值n,根據鍵為n,從map中獲取n排序後所在的位置,又因為map按照順序存入,所以n的排序位置為小於n的個數

for(

int i=

0;i)return ans;

}}

有多少小於當前數字的數字

給你乙個陣列 nums,對於其中每個元素 nums i 請你統計陣列中比它小的所有數字的數目。換而言之,對於每個 nums i 你必須計算出有效的 j 的數量,其中 j 滿足 j i 且 nums j nums i 以陣列形式返回答案 第一次解題用的暴力解法 用時 24ms public stati...

有多少小於當前數字的數字

2 nums.length 500 0 nums i 100 方法一 暴力法 class solution return res 方法二 快速排序 我們也可以將陣列排序,並記錄每乙個數在原陣列中的位置。對於排序後的陣列中的每乙個數,我們找出其左側第乙個小於它的數,這樣就能夠知道陣列中小於該數的數量。...

1365 有多少小於當前數字的數字

題目 給你乙個陣列 nums,對於其中每個元素 nums i 請你統計陣列中比它小的所有數字的數目。換而言之,對於每個 nums i 你必須計算出有效的 j 的數量,其中 j 滿足 j i 且 nums j nums i 以陣列形式返回答案。示例 輸入 nums 8,1,2,2,3 輸出 4,0,1...