[python]ハッシュテーブル(2)
7546 ワード
に質問重複文字のない最長部分文字列
重複文字がない最長部分の文字列の長さを返します.
プール(スライドウィンドウとダブルポインタで寸法を調整)
def lengthOfLongestSubstring(self,s):
used={}
max_length , start = 0,0
for index, char in enumerate(s):
# 이미 등장했던 문자라면 'start' 위치 갱신
if char in used and start <= used[char]:
start = used[char] + 1
else:
max_length = max(max_length, index - start + 1)
#현재 문자의 위치 삽입
used[char] = index
return max_length
に質問親K周波数要素
k回以上出現した元素を抽出する.
草。カウンタを使用して負の値の順に抽出
import heapq
import collections
def topKFrequent( nums,k):
freqs = collections.Counter(nums)
freqs_heap = []
# 힙에 음수로 삽입
for f in freqs:
heapq.heappush(freqs_heap , (-freqs[f],f))
topk = list()
#k번 만큼 추출, 최소 힙이므로 가장 작은 음수 순으로 추출
for _ in range(k):
topk.append(heapq.heappop(freqs_heap)[1])
return topk
Python Down方式
def topKFrequent(nums,k):
return list(zip(*collections.Counter(nums).most_common(k)))[0]
fruits = ['lemon' , 'pear' ,'watermelon']
for f in fruits:
print(f, end=' ')
lemon pear watermelon print(*fruits)
lemon pear watermelon Reference
この問題について([python]ハッシュテーブル(2)), 我々は、より多くの情報をここで見つけました https://velog.io/@junhyeok-5/python-해시-테이블-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol