青蛙每次可跳1级或2级,求跳上 n(1≤n≤40)级台阶的不同跳法数。要求时间 O(n)、空间 O(1)。该问题等价于斐波那契数列:f(1)=1,f(2)=2,f(i)=f(i‑1)+f(i‑2)。示例:n=2 返回 2,n=7 返回 21。文中给出基于 DP 数组的实现,并说明可进一步用两个变量实现 O(1) 空间。

文章介绍了SpringBoot 打成 jar 包后在 Linux 环境中无法直接读取 resources 目录下文件(如 application.yml)的解决方案。通过使用 Spring 的 `PathMatchingResourcePatternResolver` 获取资源流,再利用 Apache Commons‑IO 的 `FileUtils.copyInputStreamToFile` 将资源复制到本地文件,从而实现对 `ip2region.db`(或其他资源文件)的正常加载。文中给出完整代码示例,并列出所需的 Spring 核心包和 commons‑io 包的导入方式。

该文章介绍了如何合并两个已排序的链表,使其结果仍然保持排序状态。问题要求在O(1)的空间复杂度和O(n)的时间复杂度内解决。核心思路是使用迭代的方式,比较两个链表当前节点的值,将较小的节点添加到新链表中,并移动对应链表的指针。当其中一个链表遍历完毕后,将剩余的链表直接连接到新链表的末尾。文章提供了Java代码实现,并给出了多个示例,包括空链表以及包含负数的链表的情况,清晰展示了合并过程和最终结果。

文章介绍了 NC32 “求平方根” 题目,要求实现 `int sqrt(int x)`,返回 x 的整数平方根(向下取整),空间复杂度 O(1)、时间复杂度 O(log x)。示例说明输入 2 输出 1,输入 2143195649 输出 46294。提供的 Java 解法采用牛顿迭代法:从 `res = x` 开始迭代 `res = (res + x/res) / 2`,直至 `res <= x/res`,随后返回 `res` 即为所求平方根。