- 散列表(哈希表)】
实现一个基于链表法解决冲突问题的散列表
实现一个 LRU 缓存淘汰算法
- 练习:
两数之和
英文版:https://leetcode.com/problems/two-sum/
中文版:https://leetcode-cn.com/problems/two-sum/
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
sorted_id = sorted(range(len(nums)), key=lambda k: nums[k])
head = 0
tail = len(nums) - 1
sum_result = nums[sorted_id[head]] + nums[sorted_id[tail]]
while sum_result != target:
if sum_result > target:
tail -= 1
elif sum_result < target:
head += 1
sum_result = nums[sorted_id[head]] + nums[sorted_id[tail]]
return [sorted_id[head], sorted_id[tail]]
- 【字符串】
实现一个字符集,只包含 a~z 这 26 个英文字母的 Trie 树
实现朴素的字符串匹配算法
- 练习:
Reverse String (反转字符串)
英文版:https://leetcode.com/problems/reverse-string/
中文版:https://leetcode-cn.com/problems/reverse-string/
class Solution:
def reverseString(self, s: List[str]) -> None:
"""
Do not return anything, modify s in-place instead.
"""
left=0
right=len(s)-1
l=len(s)
for i in range(l//2):
s[left],s[right]=s[right],s[left]
left+=1
right-=1
Reverse Words in a String(翻转字符串里的单词)
英文版:https://leetcode.com/problems/reverse-words-in-a-string/
中文版:https://leetcode-cn.com/problems/reverse-words-in-a-string/
class Solution:
def reverseWords(self, s: str) -> str:
return ' '.join(s.split()[::-1])
String to Integer (atoi)(字符串转换整数 (atoi))[作为可选]
英文版:https://leetcode.com/problems/string-to-integer-atoi/
中文版:https://leetcode-cn.com/problems/string-to-integer-atoi/