
leetcode
James_chok
这个作者很懒,什么都没留下…
展开
-
leetcode 5. 最长回文子串
leetcode 5. 最长回文子串 解题思路 执行用时552ms。 基本思路是动态规划算法,对二维数组进行填表 定义: i = 左边界 j = 右边界 dp[i][j] = i到j的子串是否为回文子串 由此可得递推公式:dp[i][j] = (dp[i+1][j-1] && s[i] == s[j]) ? true : false 初始化二维数组,遍历二维数组的关键点:以列j为基准,对行i进行遍历,并且i < j。 j = 0 j = 1 j = 2 j = 3原创 2021-07-25 18:04:27 · 133 阅读 · 0 评论 -
leetcode 8. 字符串转换整数 (atoi)
leetcode 8. 字符串转换整数 (atoi) 题意 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3->3 输出: 1->2->3 解题思路 用 p 记录当前节点。用 iter 作为迭代器,寻找下一个与 p 不相等的节点,并...原创 2019-12-05 16:17:56 · 190 阅读 · 0 评论 -
leetcode 83. 删除排序链表中的重复元素
leetcode 83. 删除排序链表中的重复元素 题意 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3->3 输出: 1->2->3 解题思路 用 p 记录当前节点。用 iter 作为迭代器,寻找下一个与 p 不相等的节点,并把...原创 2018-11-27 19:25:19 · 168 阅读 · 0 评论 -
leetcode 82. 删除排序链表中的重复元素 Ⅱ
leetcode 82. 删除排序链表中的重复元素 Ⅱ 题意 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。 示例 1: 输入: 1->2->3->3->4->4->5 输出: 1->2->5 示例 2: 输入: 1->1->1->2->3 输出: 2->3 解题思路 用 哈希...原创 2018-12-04 12:54:33 · 211 阅读 · 0 评论 -
leetcode 78. 集合
leetcode 78. 集合 题意 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ] 解题思路 求解全排列的通法,使用回溯和递归的思想。 代码 class Solution ...原创 2018-11-20 19:11:43 · 247 阅读 · 1 评论 -
leetcode 77. 组合
leetcode 77. 组合 题意 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 解题思路 求解全排列的通法,使用回溯和递归的思想。 代码 class Solution { public List<List...原创 2018-11-13 22:44:10 · 185 阅读 · 0 评论 -
leetcode 63. 不同路径 Ⅱ
leetcode 63. 不同路径 Ⅱ 题意 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和 0 来表示。 说明:m 和 n 的值均不超过 100...原创 2018-11-07 09:30:32 · 314 阅读 · 0 评论 -
leetcode 64. 最小路径和
leetcode 64. 最小路径和 题意 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小 解题思路 使用动态规划的思想,用 path[m][n] 表示m x n...原创 2018-10-30 18:41:53 · 342 阅读 · 0 评论 -
leetcode 62. 不同路径
leetcode 62. 不同路径 题意 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 例如,上图是一个7 x 3 的网格。有多少可能的路径? 说明:m 和 n 的值均不超过 100。 示例 1: 输入: m = 3, n ...原创 2018-10-25 17:56:42 · 367 阅读 · 0 评论 -
leetcode 50. Pow(x, n)
leetcode 50. Pow(x, n) 题意 实现 pow(x, n) ,即计算 x 的 n 次幂函数。 解题思路 使用递归计算x 的 n 次幂,可以避免超时。 代码 class Solution { public double myPow(double x, int n) { if (n < 0) { return...原创 2018-10-15 23:36:43 · 196 阅读 · 0 评论 -
leetcode 23. 合并K个排序链表
leetcode 23. 合并K个排序链表 题意 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 解题思路 先定义mergeTwoLists函数,该函数使用归并排序对 lists1 和 lists2 两个链表进行排序,得到一个新的链表 lists3 。对 lists 中的链表进行两两排序,最终得到一个排好序的链表。 代码 /** * Definition for s...原创 2018-10-15 23:11:39 · 170 阅读 · 0 评论 -
leetcode 53. 最大子序和
leetcode 53. 最大子序和 题意 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 解题思路 以nums数组的每一个元素作为子数组的起始元素,计算所有可能的子数组的和,并找到最大和,即为所求。 代码 class Solution { public int maxSubArray(int[] nums) { ...原创 2018-09-30 07:14:52 · 157 阅读 · 0 评论 -
leetcode 11. 盛最多水的容器
leetcode 11. 盛最多水的容器 题意 给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8...原创 2018-10-04 12:02:51 · 482 阅读 · 0 评论 -
leetcode 4. 两个排序数组的中位数
leetcode 4. 两个排序数组的中位数 题意 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。 请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。 你可以假设 nums1 和 nums2 不同时为空。 解题思路 使用归并排序把 nums1 和 nums2 两个有序数组结合起来,得到一个有序数组 nums3 。nums3 的中位数即为所...原创 2018-10-11 12:59:50 · 174 阅读 · 0 评论 -
leetcode 3. 无重复字符的最长子串
leetcode 3. 无重复字符的最长子串 ####题意 给定一个字符串,找出不含有重复字符的最长子串的长度。 ####解题思路 先建立一个临时String为temp,然后遍历字符串,把字符串中的字母加到temp中,作为temp的第一个字母。从当前字母的下一个字母开始遍历字符串,判断每一个字母是否已经存在于temp中,如果不存在,则添加到temp中,继续遍历下一个字母,如果存在则终止该循环,...原创 2018-09-20 20:44:30 · 193 阅读 · 0 评论 -
leetcode 2. 两数相加
leetcode 2. 两数相加 题意 给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 解题思路 先建立一个表头(该表头只是为了方便添加数字,真正的数字从表头的下一个节点开始),然后同时遍历两个链表,并用carry表示是否进位。因此,每一位的数字都可以用l1.val + l2.val + carry表示。...原创 2018-09-15 09:04:51 · 167 阅读 · 0 评论