
LeetCode刷题总结
memory一定可以的
这个作者很懒,什么都没留下…
展开
-
LeetCode.4 寻找两个有序数组的中位数
难度:困难 语言:Java 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 思路:这道题如果没有规定时间复杂度,应该是一个非常简单的题目。但是这里规定时间复杂度为O(log(m + n)),看到时间复杂度为log,就要想到二...原创 2020-03-19 22:57:57 · 200 阅读 · 0 评论 -
LeetCode5 最长回文子串
题目描述: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案 示例 2: 输入: “cbbd” 输出: “bb” 解题思路:这里可以先将字符转换成字符串,然后采用遍历的方法,将最长回文子串找出来。同时记录住最长回文子串的左右角标,最后返回以这两个角标为上下...原创 2020-03-18 22:47:01 · 245 阅读 · 0 评论 -
LeetCode岛屿的最大面积(DFS)
来源:LeetCode 难度:中等 语言:Java 题目描述 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。 找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。) 思路: 这是一道典型的DFS(Depth First Search)的题目,目的就...原创 2020-03-15 22:34:26 · 323 阅读 · 0 评论 -
LeetCode最长上升子序列(Java)
LeetCode 300 难度:中等 解题方法:java原创 2020-03-14 23:17:01 · 355 阅读 · 0 评论 -
LeetCode 59 队列的最大值
题目描述: 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 -1 思路分析: 这里需要定义一个队列,“MaxQueue”方法可以返回这个队列中最大的元素。 思路一:定义一个中间变量,来存储存入队列中的最大值。 问...原创 2020-03-13 22:47:35 · 280 阅读 · 0 评论 -
LeetCode 环形链表
题目描述 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明:不允许修改给定的链表。 思路分析 这是一道典型的使用快慢指针来作答的题目,定义两个指针,一个快指针一步走两格,一个慢指针一步走一格。如果有环形链表的话,这两...原创 2020-03-12 22:02:32 · 199 阅读 · 0 评论 -
LeetCode 字符串的最大公因子
题目描述 对于字符串 S 和 T,只有在 S = T + … + T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。 返回最长字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。 分析: 由题目可以看出,这是个变相求最大公因数的题目。只要我们加一个判断条件:str1+str2=str2+str1。两个字符串如果有最大公因数,则他们交换位置相加和交换位置之前相加...原创 2020-03-12 20:38:16 · 147 阅读 · 0 评论 -
LeetCode路径总和(一)(二)解法(Java)
给定二叉树和目标和,本文对所有可能的路径进行分析原创 2020-03-08 22:28:05 · 267 阅读 · 0 评论