您好,登錄后才能下訂單哦!
這篇文章主要介紹了LeetCode如何計算有多少小于當(dāng)前數(shù)字的數(shù)字,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
給你一個數(shù)組 nums,對于其中每個元素 nums[i],請你統(tǒng)計數(shù)組中比它小的所有數(shù)字的數(shù)目。
換而言之,對于每個 nums[i] 你必須計算出有效的 j 的數(shù)量,其中 j 滿足 j != i 且 nums[j] < nums[i] 。
以數(shù)組形式返回答案。
示例 1:
輸入:nums = [8,1,2,2,3]
輸出:[4,0,1,1,3]
解釋:
對于 nums[0]=8 存在四個比它小的數(shù)字:(1,2,2 和 3)。
對于 nums[1]=1 不存在比它小的數(shù)字。
對于 nums[2]=2 存在一個比它小的數(shù)字:(1)。
對于 nums[3]=2 存在一個比它小的數(shù)字:(1)。
對于 nums[4]=3 存在三個比它小的數(shù)字:(1,2 和 2)。
示例 2:
輸入:nums = [6,5,4,8]
輸出:[2,1,0,3]
示例 3:
輸入:nums = [7,7,7,7]
輸出:[0,0,0,0]
提示:
2 <= nums.length <= 500
0 <= nums[i] <= 100
使用雙重for循環(huán)進(jìn)行解決
public class SmallerNumbersThanCurrentTest {
public static void main(String[] args) {
int[] nums = {8, 1, 2, 2, 3};
int[] ints = smallerNumbersThanCurrent(nums);
for (int num : ints
) {
System.out.print(num + "\t");
}
}
public static int[] smallerNumbersThanCurrent(int[] nums) {
int[] result = new int[nums.length];
for (int i = 0; i < nums.length; i++) {
int count = 0;
for (int j = 0; j < nums.length; j++) {
if (nums[i] != nums[j] && nums[i] > nums[j]) {
count++;
}
}
result[i] = count;
}
return result;
}
}
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“LeetCode如何計算有多少小于當(dāng)前數(shù)字的數(shù)字”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。