跳到主要内容

5 篇博文 含有标签「leetcode」

查看所有标签

leetcode 0005 最长回文子串

· 阅读需 2 分钟
Apache王也道长
软件开发者与技术作者

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。

示例 1:

输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。

示例 2:

输入: "cbbd"
输出: "bb"

回文字符串从中心向两侧对称,可以分别以单个字符和相邻两个字符作为中心扩展。该方法空间开销低,并能自然处理奇数与偶数长度回文。

leetcode 0004 寻找两个有序数组的中位数

· 阅读需 5 分钟
Apache王也道长
软件开发者与技术作者

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。

请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。

你可以假设 nums1 和 nums2 不会同时为空。 中位数问题的核心是找到合并后左半部分与右半部分的正确分界。简单合并易于验证,二分解法复杂度更优,但必须谨慎处理空数组、奇偶长度和哨兵边界。

leetcode 0003 无重复字符的最长子串

· 阅读需 1 分钟
Apache王也道长
软件开发者与技术作者

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 暴力枚举会重复检查大量子串,滑动窗口可以让左右边界只向前移动。遇到重复字符时,左边界不能后退,应跳到该字符上次出现位置的下一位。

LeetCode 2 两数相加 Java 解法:链表遍历与进位处理

· 阅读需 2 分钟
Apache王也道长
软件开发者与技术作者

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 这道题的关键是像手算加法一样从低位到高位遍历两个链表,并持续保存进位。实现时要覆盖链表长度不同、最后仍有进位和节点为空的情况。

总访问量 -- · 访客数 --