
leetcode
xiaotao_1
这个作者很懒,什么都没留下…
展开
-
leetcode_c++刷题_005_最长回文子串_mid_动态规划_字符串
题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。注:回文是指正着读和反着读都一样示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"解析:用动态规划进行回文判断,代码如下:class Solution {public: string longestPalindrome(string s) { int n = s.size();原创 2020-06-20 19:38:01 · 1013 阅读 · 0 评论 -
leetcode_c++刷题_004_寻找两个正序数组的中位数_hard_二分查找_数组
题目描述:给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 + 3)/2 = 2.5思路:毕竟是hard难度的题,实在是太难了。先记录一个答案吧,后面原创 2020-06-16 00:20:36 · 436 阅读 · 0 评论 -
leetcode_c++刷题_003_无重复字符的最长子串_mid_字符串_滑动窗口_hash表
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。思路:原创 2020-06-15 00:00:25 · 281 阅读 · 0 评论 -
leetcode_c++刷题_002_两数相加_mid
题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807思路:链表的数储存是倒序的,因此只要从链表头相加,再将所原创 2020-06-14 18:18:01 · 262 阅读 · 0 评论 -
leetcode_c++刷题_001_两数之和_easy
题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解法:1,暴力搜索,两个for循环搞定,时间复杂度O(n2)O(n^2)O(n2),不推荐。2,建map,hash查找。代原创 2020-06-14 11:54:44 · 327 阅读 · 0 评论