摘要: 题目链接 解题思路:最长回文子串问题,首先要将原字符串扩充,比如abba,暴力是以每个字符s[i],左右两边扩,如果是abba,得不到最优解,扩充成#a#b#b#a#,就不会有问题,最优解是manacher算法。 假设s[i]扩充的区域是[x, y],是目前便利到的,最远的距离,我们称i为回文中心C 阅读全文
posted @ 2024-12-16 13:55 ouyangxx 阅读(43) 评论(0) 推荐(0)
摘要: 题目链接 解题思路:最长子串问题,考虑,以i开头的结果如何,以i结尾的结果如何,最终结果必定在其中。本题使用以i开头的结果如何,我们求出所有的「以i开头的最长子串」,再求出最长的即可。 求「以i开头的最长子串」,最简单的暴力即可,那么怎么加速呢? 我们在求「以i-1开头的最长子长串时」,假设结果是[ 阅读全文
posted @ 2024-12-16 10:01 ouyangxx 阅读(18) 评论(0) 推荐(0)
摘要: 题目链接 思路 链表的方式,模拟加法的计算过程,用一个变量保存进位信息即可。 代码 class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { // 有一种办法可以节省空间,直接将结果放在l1或者l2上 阅读全文
posted @ 2024-12-16 09:46 ouyangxx 阅读(21) 评论(0) 推荐(0)
摘要: 题目链接 注意事项 1️⃣有且仅有一个正确答案。 2️⃣每个数只能使用一次。 3️⃣返回的是下标 解法一:两个for循环,找到了直接返回即可。 class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { i 阅读全文
posted @ 2024-12-16 09:32 ouyangxx 阅读(49) 评论(0) 推荐(0)