住在对面的居民
住在对面的居民,我想与我这边环境也相似,只是人口数量略有差异。 有段时间,每晚下班我进房间打开房灯,第一件事就是站在窗外静静的看着对面的居民们。因为是老式小区,楼层不高,每栋之间的间隔也不大,看不清对面的模样但至少看得清对面的举动。 住在对面的居民,每户人家做的事皆不相同,作息时间皆不相同,窗外布置 ...
阅读更多
LeetCode 之三角形最小路径和(Triangle)
看标题不知是否让您想起了有向图中的最短路径,是有些许类似,不过该题比其更简单更加清晰、直观、好理解。相信您看完这个之后,脑回路肯定更加的明亮! 题目描述如下:123456789101112131415给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ ...
阅读更多
JVM 之字节码执行引擎
代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 概述执行引擎是 Java 虚拟机最核心的组成部分之一。在不同的虚拟机实现里面,执行引擎在执行 Java 代码的时候可能会有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择,也 ...
阅读更多
忙碌十一月(2018)
这个十一月为什么说忙碌呢,因为忙着抽纸巾擤鼻涕,感冒了;因为忙着买买买,剁手了;因为忙着来来回回,出差了。 感冒 怪我,都怪我,前一段时间温差变化大,我懒啊,没及时加被子,还没穿裤子就睡了,半夜那个冻的,知道冷但就是没爬起来加被子,然后,感冒了一周,鼻子都搞破皮了…… 后来晚上还去夜跑,跑完 ...
阅读更多
LeetCode 之二叉树的各种遍历(Binary Tree Traversal)
在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 想必大家对二叉树也不陌生,被各种二叉树面试题支配的恐惧仍记忆犹新…… 这篇就总结一下二叉树的各种遍历,包括前 ...
阅读更多
JVM 之类加载机制
代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 概述虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。 与那些在编译时需要进行连接工作的语言 ...
阅读更多
JVM 之类文件结构
代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 无关性的基石实现语言无关性的基础是虚拟机和字节码存储格式。Java 虚拟机不和包括 Java 在内的任何语言绑定,它只与“Class 文件”这种特定的二进制文件格式所关联,Class 文件中包含了 Jav ...
阅读更多
JVM 之垃圾收集器与内存分配策略
Java 与 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 对象死活垃圾收集器在对堆进行回收前,第一件事就是要确认这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象) 引用计数法给对象中添加一个引用计数器,每当 ...
阅读更多
LeetCode 之 n 个数之和(Sum n)
LeetCode 中有好几道题是求数字之和的,有 Sum 2、Sum 3 和 Sum 4 等。求和这种情况在我们实际开发中也是经常会遇到的,在这不妨拿出来我们把这归并到一起来说说。 无非就是数组中几个数字求和比较是否为目标值。且大多结果中是不能有重复的值。 大致我说下这个题意:12345678910 ...
阅读更多
LeetCode 之回文数(Palindrome Number)
回文数想必大家都不陌生吧。什么?你居然不知道何谓“回文数”? 回文数:“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。 OK,来看题:1234567891 ...
阅读更多