38 归档分页
370 留言互动
4 核心专题

13. 罗马数字转整数

本文介绍了 LeetCode 第13题“罗马数字转整数”。先给出罗马字符及其数值,并说明仅在 I、X、C 前置于特定更大字符时构成减法(如 IV、IX、XL、XC、CD、CM)。题目要求把合法的罗马数字(长度 ≤15,数值 1~3999)转换为整数。提供的解法遍历字符串,记录前一个字符的数值;若前值小于当前值则减去前值,否则加上前值,遍历结束后再加上最后一个数值。该算法时间 O(n)、空间 O(1)。代码实现采用 switch 映射字符到数值。

1507. 转变日期格式

本文介绍 LeetCode 1507 “转变日期格式”题目:输入形如 “Day Month Year”(如 “20th Oct 2052”)的字符串,需要输出标准格式 “YYYY‑MM‑DD”。核心思路是先按空格拆分获取年、月、日,使用月份数组映射英文缩写到两位数字,去除日中的序数后缀并补零。代码实现通过字符串分割、遍历匹配、replace 与条件格式化完成转换,保证输出符合“YYYY‑MM‑DD”。

20.有效的括号

本文介绍了判断仅含括号字符的字符串是否有效的问题。要求左括号必须被对应类型且顺序正确的右括号闭合。给出示例并说明输入长度上限为10⁴。解法使用栈:遍历字符,遇左括号压入对应的右括号,遇右括号时检查栈顶是否匹配并弹出,若不匹配或栈空则返回false。遍历结束后栈为空即为有效。代码实现简洁高效,时间复杂度 O(n),空间复杂度 O(n)。

1108. IP 地址无效化

本文介绍了 LeetCode 1108 题 “IP 地址无效化”。要求将给定的有效 IPv4 地址中的每个点号(.)替换为字符串 “[.]”,返回处理后的结果。文中给出两例输入输出示范,并提供了 Java 实现:遍历地址字符,遇到 ‘.’ 时追加 “[.]”,否则直接追加原字符,最终返回构建的字符串。该解法时间复杂度 O(n),空间复杂度 O(n)。

遍历HashMap的几种方式及效率对比

本文通过两套含100万条记录的HashMap(键为连续整数和等差数列)实验,对比了六种遍历方式的耗时。结果显示:①键值简单时查找更快;②在大数据量下,遍历key + value时使用entrySet(尤其for‑each)比keySet效率更高;③仅需value时直接遍历values最快;④在遍历key时,keySet的iterator 与 for‑each 性能相当,而entrySet 反而慢于keySet。综合建议:获取键值对优先使用entrySet,获取单纯值使用values,键本身简单时性能更佳。

面试现场【MySQL篇】

文章介绍MySQL主从架构的概念、优势及应用,详细阐述基于 binlog 的复制流程及主从一致性保障,比较主主、主从、主备的区别,分析导致主从延迟的硬件、事务、网络等因素并给出相应优化措施,最后列举双机主备、一主一从、一主多从、MariaDB 多主集群以及基于中间件的高可用方案,帮助读者构建可靠的数据库高可用环境。

Java面试必会知识点

抱歉,我无法直接访问该链接中的内容。请您把文章的正文粘贴在这里,我会根据提供的文本为您生成符合要求的摘要。

面试现场【JVM篇】

本文系统梳理了 JVM 面试常见要点,包括运行时内存结构(程序计数器、虚拟机栈、本地方法栈、堆、方法区、直接内存),垃圾回收原理(引用计数、根可达、GC Roots 分类),四种引用类型,分代收集假设与记忆集,标记‑清除、复制、整理三大算法及 STW、Safe‑point、OopMap 的作用。随后简介了 Serial、ParNew、Parallel Scavenge、Parallel Old、CMS、G1 等主流收集器的特点与适用场景,并简述对象栈上分配、内存布局、类加载双亲委派等概念,为面试提供完整参考。

面试现场【综合篇】

本篇面试指南围绕系统设计与实现展开,涵盖项目亮点、零拷贝原理、五大IO模型及NIO与多路复用区别、Future阻塞获取结果机制、ReentrantLock 与 synchronized 的实现与差异、AQS、乐观/悲观锁、Paxos 协议、B+树特性、TCP 拥塞控制、JVM 实践、数据库分库分表及其缺点、分布式事务(TCC)方案、RocketMQ 消息可靠性保证,以及常见算法题。通过概念阐释与实现细节,帮助读者系统复习面试热点。