LeetCode算法实践:LRU缓存与编码解码
需积分: 5 78 浏览量
更新于2024-12-18
收藏 3.73MB ZIP 举报
资源摘要信息:"LeetCode实践记录涉及多个算法和数据结构题目,以及不同难度级别的编程挑战。以下是各题目知识点的详细说明:
1. lru缓存:LRU(Least Recently Used)缓存是一种常见的缓存淘汰算法,用于管理计算机内存或其他有限资源。它移除最长时间未被访问的数据,以便为新数据腾出空间。
2. 两个数字相加:涉及基本的字符串处理和算术计算,需要处理进位问题。
3. 无重复字符的最长子串:使用滑动窗口技术来找到不含重复字符的最长子串。
4. 两个排序数组的中位数:涉及数组合并和二分查找技术,用于找到合并后排序数组的中位数。
5. 最长回文子串:通过中心扩展或动态规划方法找到字符串中的最长回文子串。
6. 之字形转换:按照之字形顺序重新排列字符串中的字符。
7. 反转整数:将整数的数字顺序颠倒。
9. 回文数:检查一个整数是否为回文,即正读和反读都相同。
11. 盛水最多的容器:使用双指针技术,找出两个线段之间能容纳的最大水量。
12. 整数转罗马:将整数转换为罗马数字表示。
13. 罗马到整数:将罗马数字转换为整数。
14. 最长公共前缀:找出一组字符串中所有字符串共同的最长前缀。
16. 3和最近:可能是关于寻找与数字3最接近的数的题目。
20. 有效括号:判断字符串中的括号是否有效,即每个左括号都有相应的右括号且括号序列正确匹配。
21. 合并两个排序列表:合并两个已排序的链表。
23. 合并k个排序列表:将k个已排序的链表合并为一个有序链表。
26. 从排序数组中删除重复项:移除排序数组中的重复元素。
27. 删除元素:移除数组中特定值的元素。
28. 实现strStr():查找一个字符串中另一个字符串(子串)的出现位置。
35. 搜索插入位置:在排序数组中找到目标值插入的位置。
36. 有效数独:判断一个数独盘面是否有效。
54. 螺旋矩阵:生成或遍历一个螺旋矩阵。
80. 从排序数组中删除重复项II:移除排序数组中重复元素的出现次数超过一次的情况。
148. 排序表:对链表进行排序。
151. 反转字符串中的单词:反转字符串中的每个单词。
200. 岛屿数:计算给定二维网格中岛屿的数量。
273. 整数转英文单词:将整数转换为其对应的英文单词表示。
454. 4Sum II:在给定的数组中找到四元组,使得四元组的和为特定值。
53. 最大子阵列:找到一个具有最大和的连续子数组。
202. 快乐号码:判断一个数字是否为快乐号码,即经过有限次的数字替换(每一位数字的平方和)后,可以得到1。
146. LRU缓存:实现一个LRU缓存机制,根据访问顺序淘汰最少使用的缓存项。
535. 编码和解码:设计一种算法,可以将一个字符串编码成另一个字符串,并且能够将编码后的字符串解码回原始字符串。
TinyURL:实现一个URL缩短服务,将长URL转换为短的别名。
以上题目中,难度级别分为'E'(Easy, 简单), 'M'(Medium, 中等), 'H'(Hard, 困难)。"
【描述】:"LeetCode上的实践记录,涉及多个编程挑战和算法问题。实践记录包括但不限于以下内容:
1. lru缓存leetcode
2. 力码Python
3. 两个数字相加
4. 无重复字符的最长子串
5. 两个排序数组的中位数
6. 最长回文子串
7. 之字形转换
9. 反转整数
11. 盛水最多的容器
12. 整数转罗马
13. 罗马到整数
14. 最长公共前缀
16. 3和最近
20. 有效括号
21. 合并两个排序列表
23. 合并k个排序列表
26. 从排序数组中删除重复项
27. 删除元素
28. 实现
35. 搜索插入位置
36. 有效数独
54. 螺旋矩阵
80. 从排序数组中删除重复项II
148. 排序表
151. 反转字符串中的单词
200. 岛屿数
273. 整数转英文单词
454. 4Sum II
C++
53. 最大子阵列
202. 快乐号码
OOD
146. LRU缓存
535. 编码和解码
TinyURL
【标签】:"系统开源"
【压缩包子文件的文件名称列表】: LeetCode-master
141 浏览量
134 浏览量
点击了解资源详情
2021-06-29 上传
2021-06-29 上传
2021-06-29 上传
2021-06-29 上传
2021-06-29 上传
2021-06-29 上传
weixin_38663197
- 粉丝: 8
- 资源: 926