Link Blog

Thinking will not overcome fear but action will.

图例题

图例题

图 200. 岛屿数量 给你一个由 ’1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 输入:grid = [ [“1”,”1”,”1”,”1”,”0”], [“1”,”1”,”0”,”1”,”0”], [“1”,”...

lambda表达式原理

lambda表达式原理

lambda表达式原理 一、lambda表达式概述 Java 8于2014年3月发布,引入了lambda表达式作为其旗舰功能。你可能已经在你的代码库中使用它们来编写更简洁和灵活的代码。 比如在stream中使用,统计所有账单中7月的账单金额总和,如下。 int total = invoices.stream() .filter(inv ->...

不好分类的例题

不好分类的例题

不好分类 1.两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 解答 hash表存储,一次遍历法 public int[] twoSum(int[] n...

树相关例题

树例题

树 94.中序遍历 输入:root = [1,null,2,3] 输出:[1,3,2] 解答 递归法 public List<Integer> inorderTraversal(TreeNode root) { List<Integer> result = new ArrayList<>(); doInor...

贪心算法例题

贪心算法例题

贪心算法 贪心算法不从整体最优上加以考虑,所做出的仅是在某种意义上的局部最优选择。 使用条件 贪心选择性质 一个问题的整体最优解可通过一系列局部的最优解的选择达到,并且每次的选择可以依赖以前作出的选择,但不依赖于后面要作出的选择。这就是贪心选择性质。对于一个具体问题,要确定它是否具有贪心选择性质,必须证明每一步所作的贪心选择最终导致问题的整体最优解 [4] 。 最优子结构性...

链表相关例题

链表例题

链表 环形链表 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。 如果链表中存在环 ,则返回 true 。 否则,返回 fa...

动态规划例题

动态规划例题

动态规划 动态规划重点 最优子结构 边界条件 状态转移方程 无后效性,即动态规划中的每一个元素(dp[i],dp[i][j]) 都是final(java的final)的 为了保证计算子问题能够按照顺序、不重复地进行,动态规划要求已经求解的子问题不受后续阶段的影响。这个条件也被叫做「无后效性」。换言之,动态规划对状态空间的遍历构成一张有向...

回溯算法例题

leetcode39组合总和

39组合总和 题目说明 给你一个 无重复元素 的整数数组candidates和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为...

反射与methodHandler

反射与methodHandler

反射与methodHandler

异步转同步的几种实现

异步转同步的几种实现

异步转同步的几种实现 定时轮询 等待通知 定时轮询 定时轮询的方法实现非常简单,也易于实现,对于简单场景 优点在于实现简单,而缺点在于耗时受限于轮询周期而且不太优雅。 public class LongPollSyncer<T, R> implements Syncer<T, R> { private final Map<T, R&g...