标签: 模拟

15 篇文章

力扣hot100—栈5题
写题目的时候,一般用双端队列来模拟栈。 双端队列: Deque<> queue = new LinkedList<>(); // 添加到队尾 deque.offerLast(1); // 推荐,返回true/false // 添加到队首 deque.offerFirst(2); // 推荐 // 移除队首 first = deque.p…
力扣hot100—二分查找6题
二分查找的通用板子,需要注意理解: ep:1,2,2,2,3,5 //查大于等于target的第一个位置, target=2,目标位置是1 int l = 0, r = n - 1; while (l < r) { int mid = l + r >> 1; // 找最早的那个值,nums[mid] >= x时,即使等于目标值,也要继续向左找…
力扣hot100—LinkedHashMap实现LRU缓存
可以用LinkedHashMap的数据结构实现;要自己手写的话,就需要维护一个哈希+双向链表的数据结构,使用双链表来维护缓存项的访问顺序。最近访问的项位于链表的头部,而最久未访问的项位于链表的尾部。 Map<Integer,MyNodes>,底层就是数组+双向链表。put操作,找出来修改值,放到最前面,找不到就新增,节点放最前面get操作就把…