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

最近更新

算法 2021-12-09

739. 每日温度

本文介绍了 LeetCode 第 739 题 “每日温度”。题目要求对给定的气温数组,计算每一天需要等待多少天才能出现更高温度,若之后没有更高温度则返回 0。文中给出三个示例说明输入输出关系,并提供了基于单调递减栈的 Java 解法:遍历温度数组,利用栈记录尚未找到更高温度的下标,当遇到更高温度时弹出栈中下标并计算间隔天数,最终得到结果数组。

NowCoder 阅读全文
算法 2021-12-08

75. 颜色分类

本题要求对仅包含 0、1、2(分别代表红、白、蓝)的长度为 n 的数组就地排序,使相同颜色相邻且顺序为红、白、蓝。核心思路是经典的荷兰国旗算法:利用左指针 left、右指针 right 和遍历指针 i,将 0 移到左侧、2 移到右侧,遇到 1 时直接前进。代码实现中通过条件判断在 O(n) 时间、O(1) 额外空间内完成交换,实现了高效的原地排序。

NowCoder 阅读全文
Java 2021-11-17

Elasticsearch7.x实战指南

Elasticsearch 7.x 通过废弃 TransportClient、统一使用 High‑level REST client、默认类型改为 _doc、分片数降至 1 等改动,提升了连接方式和资源占用。内部升级至 Lucene 8,加入 Weak‑AND、Intervals 查询以及更智能的集群协调与熔断机制,显著优化查询相关性和内存安全。本文系统演示了 ES7 的基本操作(索引、映射、文档的增删改查),以及高级特性包括地理坐标、动态映射、动态模板和 Query DSL 的全文、过滤与聚合用法,为 Java 开发者提供了从集群连接到复杂查询的完整实战指南。

Elasticsearch 阅读全文
日常 2021-12-01

再看《肖申克的救赎》,我才真正明白了人为什么要读书

《肖申克的救赎》用安迪在监狱中的经历阐释读书的意义:丰富的知识让他在绝境中找到自救的工具,利用金融、地质、法律等学识赢得尊重、获取资源,最终凿通地下通道逃离牢笼。书籍提供答案、拓宽认知、抵御体制化,让人即使身处囚禁也能保持精神自由。作者借此指出,人生每一次阅读都是为未来埋下的“彩蛋”,没有白读的书,只有在关键时刻绽放的力量。

Java 2021-11-29

自定义持久层框架(仿MyBatis)

本文介绍了一个仿 MyBatis 的持久层框架实现思路。首先在使用端准备 sqlMapConfig.xml(存放数据源)和 Mapper.xml(定义 SQL 与唯一标识),并建立实体类。框架端通过 Resources 将配置文件读取为流,使用 dom4j 解析后封装到 Configuration(保存 DataSource 与 Map\<statementId, MappedStatement\>)和 MappedStatement(保存 id、resultType、parameterType、sql)中。SqlSessionFactoryBuilder 负责构建 Configuration 并生成 DefaultSqlSessionFactory,openSession() 返回 SqlSession 实例,提供 selectList、selectOne 等 CRUD 方法,内部基于 JDBC 完成数据库操作。整体采用 Builder、Factory、Proxy 等设计模式,并给出完整的 Maven 依赖、数据库建表脚本及代码示例,展示了从配置解析到会话执行的完整流程。

MyBatis 阅读全文
算法 2021-10-14

插入排序

插入排序将数组划分为已排序区和未排序区,逐个取出未排序首元素并在已排序区找到合适位置插入。实现思路是遍历数组,用临时变量保存待插入值,向左移动比它大的元素,直至定位插入点。代码示例展示了每轮的数组变化。优化措施是在遇到比待插入小的元素时立即停止比较,并直接移动而非交换。插入排序是稳定算法,最坏时间复杂度为O(n²),在近乎有序的情况下可降至O(n)。

插入排序 阅读全文