摘要: 什么是懒删除? 在Dijkstra算法中,同一个节点可能被多次加入优先队列,但只有最短的那次才是有效的。懒删除就是"推迟删除",直到真正从队列中取出时再判断是否有效。 举个例子理解 假设有这样一个图: A --2--> B A --5--> C B --1--> C 执行过程: 初始: dist[A 阅读全文
posted @ 2025-12-09 19:41 Nickey103 阅读(7) 评论(0) 推荐(0)
摘要: 内容由AI生成 Java 基础避坑与原理:Scanner、泛型与 ArrayList(含源码验证) 1. Scanner 的“回车符”陷阱 现象: 在使用 Scanner 时,如果先调用 nextInt(),紧接着调用 nextLine(),第二个字符串输入会直接跳过(读到空字符串)。 int nu 阅读全文
posted @ 2025-12-06 10:15 Nickey103 阅读(8) 评论(0) 推荐(0)
摘要: 内容由AI生成 一、 泛型(Generics)与类型擦除 现象: 为什么写 ArrayList<int> 编译器会报错,必须写 ArrayList<Integer>? 1. 核心考点:类型擦除 (Type Erasure) 面试回答: Java 的泛型是伪泛型,是在编译器层面实现的。在编译后的字节码 阅读全文
posted @ 2025-12-06 09:51 Nickey103 阅读(14) 评论(0) 推荐(0)
摘要: 为什么 nextInt() + nextLine() 会出问题,以及底层的原理。 1. 核心原因:回车符(\n)的残留 计算机处理键盘输入时,有一个输入缓冲区(Buffer)。 当输入数字 10 并按下回车键时,输入缓冲区里的内容实际上是: 10\n (10 是你输入的数字,\n 是回车键产生的换行 阅读全文
posted @ 2025-12-06 09:24 Nickey103 阅读(15) 评论(0) 推荐(0)
摘要: 如果输入数据总量 ≥ 10^5,则应该考虑使用快读。 尤其是:总整数个数 ≥ 100000,或输入文件大小 ≥ 几 MB 且语言是 Java,因为 Java 的 Scanner 会非常慢,本质上是“正则解析器”,时间复杂度远高于预期。 static class FastScanner { priva 阅读全文
posted @ 2025-12-06 00:39 Nickey103 阅读(8) 评论(0) 推荐(0)
摘要: IDEA Command + Option + M 自动将选中部分抽取为方法 阅读全文
posted @ 2025-12-05 23:19 Nickey103 阅读(5) 评论(0) 推荐(0)
摘要: int → String 转换的 API 1. String.valueOf(int i) (推荐) int num = 123; String s = String.valueOf(num); // "123" 优点:最常用,代码清晰,性能好 null安全:如果传入 null 会返回 "null" 阅读全文
posted @ 2025-12-04 09:48 Nickey103 阅读(19) 评论(0) 推荐(0)
摘要: 定义 原码:符号位加上真值的绝对值(即:最高位为符号位,0正1负,其余位为数值)。 反码: 正数:与原码相同。 负数:符号位不变,其余各位(数值位)按位取反。 补码: 正数:与原码相同。 负数:在反码的最低位加 1。 例子 假设字长为 4 位: 1. 正数(例如 +2) 原码: 0010 反码: 0 阅读全文
posted @ 2025-12-02 23:00 Nickey103 阅读(107) 评论(0) 推荐(0)
摘要: 打开文件时Apple无法验证问题 原因 macOS GateKeeper安全机制将未被Apple验证的文件打上“隔离(Quarantine)”标签。 解决 sudo xattr -r -d com.apple.quarantine 文件/文件夹路径 命令解析 sudo: 以管理员权限运行。 xatt 阅读全文
posted @ 2025-12-02 19:21 Nickey103 阅读(18) 评论(0) 推荐(0)
摘要: Java内部类与静态上下文 错误示例 public class Outer { class Inner { // 普通内部类 int value; Inner(int v) { value = v; } } public static void main(String[] args) { Inner 阅读全文
posted @ 2025-11-30 11:58 Nickey103 阅读(8) 评论(0) 推荐(0)