微服务 内容 本文介绍了从单体架构向微服务架构的演进过程。单体架构将所有功能集成在一个应用中,虽部署简单,但在高并发下易性能瓶颈,协作与发布效率低。微服务通过将系统拆分为多个独立、高内聚、低耦合的服务,实现团队自治、独立部署和数据隔离,提升系统可用性与扩展性。服务间通过网络通信,常用工具包括RestTemplate和OpenFeign。注册中心(如Nacos)用于服务注册与发现,并支持负载均衡。OpenFeign作为声明式HTTP客户端,简化了服务调用。合理使用微服务架构可有效应对复杂业务与高并发场景。
P53 最大子数组和 内容 本文介绍使用动态规划解决“最大子数组和”问题。定义状态 `dp[i]` 表示以第 `i` 个元素结尾的最大子数组和。状态转移方程为:`dp[i] = max(nums[i], dp[i-1] + nums[i])`,即当前元素单独成段或加入前一个子数组。初始化 `dp[0] = nums[0]`,遍历数组完成状态更新后,再找出所有 `dp[i]` 中的最大值作为结果。该方法时间复杂度为 O(n),空间复杂度为 O(n),是线性动态规划的经典入门题。
P51 N皇后 内容 本文介绍了解决N皇后问题的深度优先搜索(DFS)算法。核心难点在于判断皇后放置时的斜对角线冲突,通过三个布尔数组分别记录列、主对角线和副对角线的占用情况。利用树形结构进行搜索,并在不满足条件时及时剪枝,显著提升效率。代码实现中,递归遍历每一行,在每行尝试放置皇后并更新状态,回溯时恢复现场。当成功放置n个皇后时,将结果加入答案。该方法有效解决了N皇后问题的所有合法布局,具有清晰的逻辑与较高的执行效率。