题目就不介绍了,就是个投票,然后求“大家心目中最靓的仔”
我就是,我就是,这条街,这华为,最靓的仔!
后面有时间补充题目内容,直接上代码吧!
已经AC!
# 字典的多条件的排序
# list2 = input().strip().split(",")
def fun(str2):
list3 = list(str2)
if ord(list3[0])<65 or ord(list3[0])>90:
return False
for i in (1,len(list3)-1):
if ord(list3[i])<97 or ord(list3[i])>122:
return False
return True
def test(list3):
list2 = list3.strip().split(",")
for i in list2:
if fun(i)==True:
continue
else:
return "error.0001"
dict2 = {}
for i in list2:
dict2[i] = dict2.get(i, 0) + 1
temp = 0
for value in dict2.values():
temp += value
if temp<0 or temp>100:
return "error.0001"
l = sorted(dict2.items(), key=lambda s:(-s[1], s[0]))
return l[0][0]
list2 = input()
print(test(list2))
严重怀疑华为是不是从leetcode上面的变形的题目
leetcode692 上面的题目为:
给一非空的单词列表,返回前 k 个出现次数最多的单词。
返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。
示例 1:
输入: ["i", "love", "leetcode", "i", "love", "coding"], k = 2
输出: ["i", "love"]
解析: "i" 和 "love" 为出现次数最多的两个单词,均为2次。
注意,按字母顺序 "i" 在 "love" 之前。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/top-k-frequent-words
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
from typing import List
class Solution:
def topKFrequent(self, words: List[str], k: int) -> List[str]:
dict2 = {}
for i in words:
dict2[i] = dict2.get(i, 0) + 1
l = sorted(dict2.items(), key=lambda s: (-s[1], s[0]))
res = []
for i in range(k):
res.append(l[i][0])
return res
if __name__ == "__main__":
s = Solution()
list2 = ["i", "love", "leetcode", "i", "love", "coding"]
k = 2
print(s.topKFrequent(list2, k))

本文分享了一段关于寻找‘最靓的仔’的代码挑战,通过解析和排序字典来找出最高频词汇,同时对比了华为题目与LeetCode 692题目的相似之处,展示了完整的代码实现及AC结果。
5282

被折叠的 条评论
为什么被折叠?



