java
文章平均质量分 73
惊鸿只为卿
惊鸿一面,只待卿来。分享互联网技术,算法、面试相关,以及一些有趣的事。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
滑动窗口详解
滑动窗口 基本概念 滑动窗口是一种基于双指针的一种思想,两个指针指向的元素之间形成一个窗口。 分类:窗口有两类,一种是固定大小类的窗口,一类是大小动态变化的窗口。 应用: 利用滑动窗口获取平滑的数据,如一段连续时间的数据平均值,能够有更好的稳定性,如温度监测。 什么情况可以用滑动窗口来解决实际问题呢? 一般给出的数据结构是数组或者字符串 求取某个子串或者子序列最长最短等最值问题或者求某个目标值时 该问题本身可以通过暴力求解 核心思路 窗口的形成 在具体使用之前,我们知道窗口实际是两个指针之间形成的区域,原创 2021-10-18 20:06:24 · 44357 阅读 · 5 评论 -
一文详解leetcode多线程同步问题
多线程问题在日常的开发工作中很是常见,同时也是很重要的。多线程本身比较复杂,调试困难,在提高效率的同时,对线程安全也有更高的要求,因此多线程之间的同步是多线程问题的一个很重要的知识点。在面试过程中,也是判断候选人能力的一个很重要的考察点。 本文针对leetcode上的一些多线程同步问题进行分析和总结,并尝试对同一问题使用常见的多线程同步的不同解决方法,以期能够熟练掌握多线程同步(通信)相关内容。 基础知识 为保证线程安全,多个线程同一时刻只能有一个线程进入临界区,其他线程则等待,直到该线程退出临界区,所有.原创 2021-10-10 23:39:05 · 436 阅读 · 0 评论 -
树的非递归遍历(统一形式)
树的遍历 本文针对树的前中后序的非递归遍历,统一模板。 前序遍历 public List<Integer> preorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<>(); if(root == null){ return res; } Stack<TreeNode> stack = new原创 2021-05-26 00:03:24 · 268 阅读 · 0 评论
分享