Java
文章平均质量分 51
SevenHamst
这个作者很懒,什么都没留下…
展开
-
Java8 HashMap 扩容之后旧元素存放位置
Java8 HashMap 扩容之后旧元素存放位置根据源码可看出,java 在扩容的时候会新建一个新的 Node<K,V>[] 来存放扩容之后的值,并将旧有的Node数组置空;至于旧有值移动到新的节点的时候存放于哪个节点,Java 是根据(e.hash & oldCap) == 0 来判断的:① 等于0时,则将该节点放到新数组时的索引位置等于其在旧数组时的索引位置,记为低位区链表lo开头-low;② 不等于0时,则将该节点放到新数组时的索引位置等于其在旧数组时的索引位置再.原创 2021-03-24 10:23:42 · 4591 阅读 · 0 评论 -
LeeCode64: 最小路径和
给定一个包含非负整数的mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。很惭愧,我一开始审题不认真就没发现只能向下或者向右的规定,不过感觉不规定这个更合理,以下是...原创 2019-03-13 16:26:38 · 546 阅读 · 0 评论 -
956 最高的广告牌
记两个算法:一个纯暴力解决,超越了0.0%的用户:public int tallestBillboard(int[] rods) { int total = 0; for (int i : rods) { total += i; } return tallestBillboardAss(rods, 0, ...原创 2019-01-08 16:35:53 · 310 阅读 · 0 评论 -
LeeCode 773 滑动谜题
在一个 2 x 3 的板上(board)有 5 块砖瓦,用数字 1~5 来表示, 以及一块空缺用 0 来表示.一次移动定义为选择 0 与一个相邻的数字(上下左右)进行交换.最终当板 board 的结果是 [[1,2,3],[4,5,0]] 谜板被解开。给出一个谜板的初始状态,返回最少可以通过多少次移动解开谜板,如果不能解开谜板,则返回 -1 。示例:输入:board = [...原创 2019-01-24 09:38:38 · 466 阅读 · 0 评论 -
337. 打家劫舍 III
LeeCode 337题,题目:在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额...原创 2018-12-29 15:31:27 · 200 阅读 · 2 评论 -
向上转型
向上转型重新学习Java时看到j向上转型;public class Test01{ public static void main(String[] args){ System.out.println("Hellow"); Bird b = new Bird(); Panda p = new Panda(); Lion l = new Lion(); Test01 t ...原创 2018-06-06 17:07:54 · 331 阅读 · 0 评论