k8s之一鍵安裝docker及k8s-master節點搭建指令碼
阿新 • • 發佈:2020-12-01
考點:
class Solution: def firstUniqChar(self, s: str) -> str: ch_dict = {} for i in range(len(s)): cur = s[i] if cur in s[:i]: continue if not cur in s[i+1:]: return cur return " "
考點:
class Solution: def findRepeatNumber(self, nums: List[int]) -> int: n = len(nums) nums.sort() for i in range(1, n): if nums[i] == nums[i-1]: return nums[i]
class Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: result_dict = collections.defaultdict(list) for istr in strs: istr_list = list(istr) istr_list.sort() # print("".join(istr_list)) result_dict["".join(istr_list)].append(istr) result = [] for _, values in result_dict.items(): result.append(values) return result
class WordsFrequency: def __init__(self, book: List[str]): self.word_fre = {} for word in book: if word in self.word_fre: self.word_fre[word] = self.word_fre[word] + 1 else: self.word_fre[word] = 1 def get(self, word: str) -> int: return self.word_fre.get(word, 0)
5、劍指 Offer 48. 最長不含重複字元的子字串
考點:
1、注意雙指標的序列長度要>=2,等於0和1 需要使用特殊值處理
2、for 迴圈right指標,range範圍是(1, len(s)+1)
class Solution: def lengthOfLongestSubstring(self, s: str) -> int: if len(s) == 0: return 0 if len(s) == 1: return 1 result = 0 left = 0 for right in range(1, len(s)+1): # print(s[left:right]) # 不重複 if len(set(s[left:right])) == right - left: if right - left > result: result = right - left continue # 重複 while True: left = left + 1 if left == right: break if len(set(s[left:right])) == right - left: if right - left > result: result = right - left break return result