摘要:
LeetCode:访问所有节点的最短路径【847】 题目描述 给出 graph 为有 N 个节点(编号为 0, 1, 2, ..., N-1)的无向连通图。 graph.length = N,且只有节点 i 和 j 连通时,j != i 在列表 graph[i] 中恰好出现一次。 返回能够访问所有节 阅读全文
摘要:
LeetCode:N叉树的最大深度【559】 题目描述 给定一个N叉树,找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 例如,给定一个 3叉树 : 我们应返回其最大深度,3。 说明: 题目分析 我们可以使用BFS(宽度优先搜索)来求解该问题,思路是这样的,我们一层一层的 阅读全文
摘要:
SpringBoot学习笔记:日志框架——SL4J 快速开始 说明 SpringBoot底层选用SLF4J和LogBack日志框架。 SLF4J的使用 SpringBoot的底层依赖关系 1.SpringBoot底层使用Slf4j+LogBack的方式进行日志记录。 2.SpringBoot将其他日 阅读全文
摘要:
Java基础教程:多线程基础——锁机制 显示锁 ReentrantLock ReentrantLock是一种标准的互斥锁,每次只允许一个线程持有ReentrantLock。 使用ReentrantLock来保护对象状态: 如果没有finally来释放Lock,相当于启动了一个定时炸弹。 Reentr 阅读全文
摘要:
Java基础教程:多线程基础——线程间的通信 使线程间进行通信后,系统之间的交互性会更强大,在大大提高CPU利用率的同时还会使程序员对各线程任务在处理的过程中进行有效的把控与监督。 线程间的通信 思维导图 等待/通知机制 不使用等待/通知机制 我们可以使用使用sleep()与 whle(true) 阅读全文
摘要:
Java多线程基础:生产者/消费者模型 生产者/消费者模型 生产者消费者模型是多线程协作的经典模型,生产者线程负责产出数据,消费者线程负责消费生产者生产的数据,数据存放在共享区域内。该模型旨在合理的指导生产者和消费者进行生产或消费,避免过量生产以及无法消费的等问题。 首先生产者和消费者互相解耦,那线 阅读全文
摘要:
数据结构:0/1背包问题 0/1背包问题 题目描述 有N件物品和一个容量为V 的背包。放入第i件物品耗费的费用是Ci1,得到 的价值是Wi 。求解将哪些物品装入背包可使价值总和最大? 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即F [i, v]表 阅读全文
摘要:
顽石系列:Java技术面试 JDBC相关 1.Statement与PreparedStatement的区 别,什什么是SQL注⼊入,如何防⽌止SQL注⼊? PreparedStatement支持动态设置参数、支持预编译、防止SQL注入,而statement不支持。 SQL注入:通过拼接SQL语句达到 阅读全文
摘要:
剑指Offer:二叉树打印成多行【23】 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 题目分析 Java题解 阅读全文
摘要:
Node.js学习笔记(2):基本模块 模块 引入模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Node环境中,一个.js文件就称之为一个模块(module)。 好处是大大提高了代码的可维护性。 其次 阅读全文