DoubleFJ の Blog

只有回不去的过去,没有到不了的未来。

LeetCode 之三角形最小路径和(Triangle)

看标题不知是否让您想起了有向图中的最短路径,是有些许类似,不过该题比其更简单更加清晰、直观、好理解。相信您看完这个之后,脑回路肯定更加的明亮! 题目描述如下: 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: [ [2], ...

2018-12-03 17:33:54

阅读数:12

评论数:0

JVM 之字节码执行引擎

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 概述 执行引擎是 Java 虚拟机最核心的组成部分之一。在不同的虚拟机实现里面,执行引擎在执行 Java 代码的时候可能会有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择...

2018-12-01 23:48:14

阅读数:15

评论数:0

LeetCode 之二叉树的各种遍历(Binary Tree Traversal)

在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 想必大家对二叉树也不陌生,被各种二叉树面试题支配的恐惧仍记忆犹新…… 这篇就总结一下二叉树的各种遍历,包括...

2018-11-27 11:46:19

阅读数:17

评论数:0

JVM 之类加载机制

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 概述 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。 与那些在编译时需要进行连接工作的...

2018-11-25 17:15:28

阅读数:18

评论数:0

JVM 之类文件结构

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 无关性的基石 实现语言无关性的基础是虚拟机和字节码存储格式。Java 虚拟机不和包括 Java 在内的任何语言绑定,它只与“Class 文件”这种特定的二进制文件格式所关联,Class 文件中包含了 J...

2018-11-24 22:03:05

阅读数:15

评论数:0

JVM 之垃圾收集器与内存分配策略

Java 与 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 对象死活 垃圾收集器在对堆进行回收前,第一件事就是要确认这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象) 引用计数法 给对象中添加一个引用计数器...

2018-11-20 00:41:35

阅读数:18

评论数:0

LeetCode 之 n 个数之和(Sum n)

LeetCode 中有好几道题是求数字之和的,有 Sum 2、Sum 3 和 Sum 4 等。求和这种情况在我们实际开发中也是经常会遇到的,在这不妨拿出来我们把这归并到一起来说说。 无非就是数组中几个数字求和比较是否为目标值。且大多结果中是不能有重复的值。 大致我说下这个题意: 给定一个包含 m ...

2018-11-19 17:26:14

阅读数:31

评论数:0

LeetCode 之回文数(Palindrome Number)

回文数想必大家都不陌生吧。什么?你居然不知道何谓“回文数”? 回文数:“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。 OK,来看题: 判断一个整数是否...

2018-11-19 16:27:33

阅读数:25

评论数:0

JVM 之 Java 内存区域与内存溢出异常

Java 与 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 运行时数据区域 Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。根据《Java 虚拟机规范(Java SE 7 版)》的规定,包括如...

2018-11-19 01:24:23

阅读数:19

评论数:0

LeetCode 之最长公共前缀(Longest Common Prefix)

个人博客:DoubleFJ の Blog 潜意识还没养成的我在思考问题方面总会出点岔子,老是走一些弯路。虽说结果可能是一样的,过程却是复杂许多,这也是我为什么决定要好好刷一遍 leetcode 中的题目的原因。数学就在于简单之美,一些看似异常复杂的问题可以巧妙地通过分治从而完美解决,很能锻炼人...

2018-11-14 14:26:46

阅读数:20

评论数:0

LeetCode 之组合总和系列(Combination Sum)

个人博客:DoubleFJ の Blog LeetCode 中有多道组合总和(Combination Sum)的题,这些题目都是比较经典的,面试很可能会问到。我这一想,还真是。今天就来简单总结下这一系列题目,总结很重要,还要时而回顾! Combination Sum I 第一道题的描述如下: ...

2018-11-14 14:16:34

阅读数:30

评论数:0

Ubuntu 命令行连接 WiFi

查看网络信息: ifconfig ip addr 查看无线设备: sudo iw dev 检查无线设备情况(假设无线网卡是wlan0): sudo iw dev wlan0 link 开启无线设备电源: sudo ip link set wlan0 up 连接wifi(根据ess...

2018-11-03 17:51:54

阅读数:281

评论数:0

使用 ssh 反向隧道穿透 NAT 访问 Linux 内网主机

个人博客:DoubleFJ の Blog 前言 由于公司经常会有项目需要去业主那边搭建服务器,基本不需要什么流量所以就准备用 4G 网卡搭建。而该网卡无固定公网 ip,只有内网 ip,我们目的就是为了可以远程操控以避免有时因业务需要往业主那边跑,要是地方比较远来回一趟也得花个把星期,不划算。所...

2018-11-03 11:44:00

阅读数:63

评论数:0

ubuntu-18.04 设置开机启动脚本

转: ubuntu-18.04 设置开机启动脚本 ubuntu 18.04 配置 rc.local

2018-11-01 18:28:10

阅读数:402

评论数:0

Dockerfile 命令详解

转:Dockerfile命令详解(超全版本)

2018-10-25 17:28:10

阅读数:20

评论数:0

使用ssh隧道穿透NAT访问内网主机

转: 使用ssh隧道穿透NAT访问内网主机(超干货)

2018-10-24 11:40:39

阅读数:25

评论数:0

链表找环方法证明(拒绝误人子弟)

前言 今天又想起来了这个问题,之前最开始是在其他论坛中看到有人说起了这个面试题。 当时只是翻了下,大致了解了如何判断链表中是否有闭环,用两个快慢指针解决,但是没有了解如何去找到闭环开始的节点。 刚上网搜了下,一群垃圾博主乱七八糟胡说八道,就知道从其他地方复制粘贴,都不过脑子的。谁说较快指针一...

2018-10-23 09:49:40

阅读数:44

评论数:0

二分搜索之搜索数组中目标元素的首尾下标

个人博客:DoubleFJ の Blog 今天总结一下二分搜索。假设这里的数组已经是升序排序好了的。 我们知道二分搜索的效率很高,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用 O(log n) 完成搜索任务。它的基本思想:将 n 个元素分成个数大致相同的两半,取 a[n/2]...

2018-10-15 17:16:12

阅读数:33

评论数:0

整理一些 JDK 中 Integer 实用但不常用的方法

个人博客:DoubleFJ の Blog 直接开搞。 toString 该方法进行了重载,一种是 toString(int i, int radix),另一个是 toString(int i)。一个参数的方法就相当于 toString(int i, 10),看代码便知,何况其官网注释也有: ...

2018-09-26 15:25:11

阅读数:57

评论数:0

动态规划之 0-1 背包问题详解

个人博客:DoubleFJ の Blog 前言 背包问题是比较经典的动态规划算法题,之前没接触过算法都没听说过这个,也是后来在 leetcode 中刷题时才了解到,惭愧惭愧啊。算法的世界太奇妙,数学一直都是那么令人着迷。今天来总结一下这个 01 背包问题。注:这里的物品不可拆分。 动态规划 首...

2018-09-26 11:31:10

阅读数:33

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭