菜鳥扣程式碼第十五天:leetcode第1365題--有多少小於當前數字的數字
題目描述:
給你一個陣列 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(object):
def smallerNumbersThanCurrent(self, nums):
res = []
tmp_nums = list(nums)
tmp_nums.sort()
for num in nums:
res.append(tmp_nums.index(num))
return res
測試:
輸入
[2,2,5,8,3,1]
輸出
[1,1,4,5,3,0]
預期結果
[1,1,4,5,3,0]
解題思路:
如果直接將列表中第i個數字挨個與其餘i-1個進行比較,程式碼的效率會比較低,因為輸出的是比第i個數字小的數字的個數,所以很容易想到先將列表中的數字進行排序(升序),然後再輸出比當前數字小的數字的個數,這樣程式碼的效率會比較高。python正好有sort()方法,預設可將列表中的數字正序排序。
相關文章
- LeetCode - 1365 - 有多少小於當前數字的數字LeetCode
- LeetCode1365有多少小於當前數字的數字LeetCode
- Leetcode 刷題 ------1365.有多少小於當前數字的數字LeetCode
- LeetCode刷題進階之有多少小於當前數字的數字(1365)(暴力求解)LeetCode
- LeetCode 力扣 羅馬數字轉整數LeetCode力扣
- 菜鳥扣程式碼第九天:leetcode463--島嶼的周長LeetCode
- leetcode力扣136.只出現一次的數字LeetCode力扣
- LeetCode878. 第 N 個神奇數字(java)LeetCodeJava
- 力扣刷題——3007.價值和小於等於 K 的最大數字力扣
- leetcode13題——羅馬數字轉整數LeetCode
- 利用爬蟲獲取當前博文數量與字數爬蟲
- LeetCode每日一題: 猜數字大小(No.374)LeetCode每日一題
- LeetCode 2544[交替數字和]LeetCode
- SSL證書屬於數字證書嗎?數字證書有哪些
- 數字中的1——leetcode233LeetCode
- LeetCode:尋找丟失的數字LeetCode
- [每日一題] 第十四題:和為s的兩個數字每日一題
- [每日一題] 第十九題:陣列中重複的數字每日一題陣列
- LeetCode 13[羅馬數字轉整數]LeetCode
- leetcode的第9題:迴文數LeetCode
- 函數語言程式設計前菜函數程式設計
- 力扣-738. 單調遞增的數字力扣
- 只出現一次的數字--力扣力扣
- LeetCode 402 移掉K位數字 HERODING的LeetCode之路LeetCode
- LeetCode3270[求出數字答案]LeetCode
- LeetCode-374-猜數字大小LeetCode
- leetcode 解題:7. 整數反轉 @ 彈出和推入數字 & 溢位前進行檢查LeetCode
- 讓ICT飛鳥,長出數字能源的翅膀
- PHP非字母數字の程式碼PHP
- 【刷力扣】1342. 將數字變成 0 的操作次數力扣
- Nth Digit 第N個數字Git
- leetcode第九題Palindrome Number 驗證迴文數字LeetCode
- 90%的開發老鳥,不知道無程式碼數字化轉型雙全之法
- LeetCode_Python(13)_羅馬數字轉整數LeetCodePython
- python-leetcode13羅馬數字轉整數PythonLeetCode
- LeetCode題庫13. 羅馬數字轉整數(c++實現)LeetCodeC++
- 力扣 根據數字二進位制下1的數目排序力扣排序
- 力扣 1342. 將數字變成 0 的操作次數 C++力扣C++