溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

LeetCode如何計算有多少小于當(dāng)前數(shù)字的數(shù)字

發(fā)布時間:2021-12-15 14:39:32 來源:億速云 閱讀:149 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹了LeetCode如何計算有多少小于當(dāng)前數(shù)字的數(shù)字,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一,有多少小于當(dāng)前數(shù)字的數(shù)字

1.1,問題簡述

給你一個數(shù)組 nums,對于其中每個元素 nums[i],請你統(tǒng)計數(shù)組中比它小的所有數(shù)字的數(shù)目。

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

以數(shù)組形式返回答案。

 

1.2,示例

示例 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


   

1.3,題解思路

使用雙重for循環(huán)進(jìn)行解決

 

1.4,題解程序


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í)!

向AI問一下細(xì)節(jié)

免責(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)容。

AI