LeetCode 1394. 找出数组中的幸运数(map计数)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1394. 找出数组中的幸运数(map计数)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 1. 題目
- 2. 解題
- 2.1 map計(jì)數(shù)
- 2.2 Python3解
1. 題目
在整數(shù)數(shù)組中,如果一個(gè)整數(shù)的出現(xiàn)頻次和它的數(shù)值大小相等,我們就稱(chēng)這個(gè)整數(shù)為「幸運(yùn)數(shù)」。
給你一個(gè)整數(shù)數(shù)組 arr,請(qǐng)你從中找出并返回一個(gè)幸運(yùn)數(shù)。
如果數(shù)組中存在多個(gè)幸運(yùn)數(shù),只需返回 最大 的那個(gè)。
如果數(shù)組中不含幸運(yùn)數(shù),則返回 -1 。
來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/find-lucky-integer-in-an-array
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 解題
2.1 map計(jì)數(shù)
- map計(jì)數(shù),map有序
20 ms 10.4 MB
2.2 Python3解
class Solution:def findLucky(self, arr: List[int]) -> int:ans = sorted(filter(lambda x :x[0]==x[1], zip(set(arr),map(arr.count,set(arr)))), key = lambda x:x[0])return ans[-1][0] if ans else -1;72 ms 13.5 MB
- zip(set(arr),map(arr.count,set(arr)) zip打包成:set去重的集合,及對(duì)應(yīng)的個(gè)數(shù)map
- filter:取出 滿足 lambda 表達(dá)式的x[0]==x[1](元素==其頻次)
- sorted 排序,key按照元素大小升序
- 返回ans[-1][0] if ans else -1,最后一個(gè)【-1】最大的,【0】表示元素,ans空返回-1
總結(jié)
以上是生活随笔為你收集整理的LeetCode 1394. 找出数组中的幸运数(map计数)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode 297. 二叉树的序列
- 下一篇: LeetCode 1171. 从链表中删