数据结构和算法
数据结构和算法
lakernote
不停的复盘自己,砥砺前行,不忘初衷
展开
-
Leetcode – Linked List Cycle判断一个链表是否有环
https://www.programcreek.com/2012/12/leetcode-linked-list-cycle/ 给定一个链表,确定其中是否有环。 分析 如果我们有2个指针-快和慢。如果存在一个圆,可以保证快的人会遇到慢的人。 下图可以演示该问题: Java Solution public class Solution { public boolean hasCycle(ListNode head) { ListNode fast = head; .原创 2021-01-07 21:02:34 · 149 阅读 · 0 评论 -
LeetCode – LRU缓存
https://www.programcreek.com/2013/03/leetcode-lru-cache-java/ 设计和实现用于最近最少使用(LRU)缓存的数据结构,该结构支持get和put。 分析 解决此问题的关键是使用双链表,该链表使我们能够快速移动节点。 LRU缓存是键和双链接节点的哈希表。哈希表使get()的时间为O(1)。双向链接节点列表使节点添加/删除操作为O(1)。 Java解决方案 定义一个双链表。 class Node{ int key; int value.原创 2021-01-07 19:47:26 · 157 阅读 · 0 评论