一、有效字符串
您将得到一个字符串和一个有效单词列表(所有字母都是小写)。
请编写一个函数,判断字符串是否由列表中的一个或多个单词组成。
assert valid_word(‘hogwarts’, [‘hog’, ‘warts’]) is True
assert valid_word(‘hogwarts’, [‘warts’, ‘hog’]) is True
assert valid_word(‘hogwarts’, [‘war’,‘ts’, ‘hog’]) is True
assert valid_word(‘hogwarts’, [‘h’,‘o’,‘g’,‘w’,‘a’,‘r’,‘t’,‘s’]) is True
assert valid_word(‘hogwarts’, [‘hog’, ‘wart’]) is False
assert valid_word(‘hogwarts’, [‘hogw’, ‘warts’]) is False
def valid_word(word, li):
for item in li:
word = word.replace(item, '')
if len(word) == 0:
return True
else:
return False
word = 'hogwarts'
li = ['war', 'ts', 'hog1']
res = valid_word(word, li)
print(res)
二、求最长的连续的字符串个数
items=90000, key=0 返回–> 4
items=“abcdaaadse”, key=“a” 返回–> 3
items=“abcdaaadse”, key=“z” 返回–> 0
def get_consective_items(items, key):
count, tmp = 0, 0
for i in str(items):
if i != str(key):
tmp = 0
continue
tmp += 1
if tmp > count:
count = tmp
return count
items = "abcdaaadse"
key = "a"
res = get_consective_items(items, key)
print(res)
三、229. 多数元素 II
提示
中等
给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。
示例 1:
输入:nums = [3,2,3]
输出:[3]
示例 2:
输入:nums = [1]
输出:[1]
示例 3:
输入:nums = [1,2]
输出:[1,2]
class Solution:
def majorityElement(self, nums: List[int]) -> List[int]:
d = {}
for i in range(len(nums)):
if nums[i] in d:
d[nums[i]] += 1
else:
d[nums[i]] = 1
k = int(len(nums)/3)
ans = []
for item in d.keys():
if d[item] > k:
ans.append(item)
return ans
四. 前 K 个高频元素
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。
示例 1:
输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]
示例 2:
输入: nums = [1], k = 1
输出: [1]
from collections import Counter
class Solution:
def topKFrequent(self, nums: List[int], k: int) -> List[int]:
dic = Counter(nums)
res = sorted(dic.items(), key=lambda item:item[1], reverse=True)
return list(map(lambda x:x[0], res))[:k]
nums = [1,1,1,2,2,3]
k=2
res=Solution()
aa=res.topKFrequent(nums,k)
print(aa)
c=Counter(nums)
print(c.items())
原文地址:https://blog.csdn.net/YZL40514131/article/details/134863760
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_50511.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!