LeetCode之旅
文章平均质量分 55
l龙猫先生l
这个作者很懒,什么都没留下…
展开
-
LeetCode之旅(C/C++):4. 两个排序数组的中位数
1、题目描述给定两个大小为 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...原创 2018-08-30 21:02:25 · 366 阅读 · 0 评论 -
LeetCode之旅:36. 有效的数独
题意:判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。1、数字 1-9 在每一行只能出现一次。2、数字 1-9 在每一列只能出现一次。3、数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用 ‘.’ 表示。示例 1:输入:[[“5”,“3”,".",".",“...原创 2019-06-23 18:30:58 · 273 阅读 · 0 评论 -
LeetCode之旅:1. 两数之和
题意:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解法一:暴力...原创 2019-06-23 14:43:33 · 199 阅读 · 0 评论 -
LeetCode之旅:283. 移动零
题意:解法一:使用两个下标 cur 和 end,cur 从后向前遍历,当遇到元素 0 时,根据 end 与 cur 的差值 count,将 count 个非零元素整体向前移动 1 位,end 处的元素置 0。以此类推。class Solution {public: void moveZeroes(vector<int>& nums) { int ...原创 2019-06-22 22:54:47 · 188 阅读 · 0 评论 -
LeetCode之旅:66. 加一
题意:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。解法一...原创 2019-06-22 22:10:15 · 147 阅读 · 0 评论 -
LeetCode之旅:350. 两个数组的交集 II
题意:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。进阶:如果给定的...原创 2019-06-22 20:52:11 · 191 阅读 · 0 评论 -
LeetCode之旅:136. 只出现一次的数字
题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解法一:思路:先对数组进行排序,然后对 nums[i] 和 nums[i + 1]进行比较,如相等,i +=...原创 2019-06-21 18:19:01 · 181 阅读 · 0 评论 -
LeetCode之旅(C):53.最大子序和
PS:不明之处,请君留言,以期共同进步!题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。1. 思路一(枚举法)...原创 2019-05-12 20:23:49 · 1254 阅读 · 0 评论 -
LeetCode之旅(C):189. 旋转数组
PS:不明之处,请君留言,以期共同进步!1. 题目描述给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]...原创 2019-05-10 20:51:01 · 268 阅读 · 3 评论 -
LeetCode之旅(C):258. 各位相加
PS:不明之处,请君留言,以期共同进步!1. 题目描述给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38输出: 2解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。2. 思路一通过使用while循环,将num的每一位上的数字相加,得到一个和值sum,判断sum是否是一位数,如果是,则返回,...原创 2019-05-06 21:45:10 · 406 阅读 · 0 评论 -
LeetCode之旅(C/C++/Java/Python):122. 买卖股票的最佳时机 II
PS:不明之处,请君留言,以期共同进步!题目描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 ...原创 2019-04-10 21:33:22 · 512 阅读 · 0 评论 -
LeetCode之旅(C/C++):26. 删除排序数组中的重复项
PS:不明之处,请君留言,以期共同进步!题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组...原创 2019-04-10 17:41:43 · 261 阅读 · 0 评论 -
LeetCode之旅(C/C++):5. 最长回文子串
1、题目描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: “babad” 输出: “bab” 注意: “aba”也是一个有效答案。示例 2:输入: “cbbd” 输出: “bb”2、代码实现2.1 C++语言2.1.1动态规划首先分析问题: 一个字符的串肯定是一个回文串; 两个字...原创 2018-09-05 20:04:25 · 3182 阅读 · 0 评论 -
LeetCode之旅(C/C++):3. 无重复字符的最长子串
1、题目描述给定一个字符串,找出不含有重复字符的最长子串的长度。示例 1:输入: “abcabcbb” 输出: 3 解释: 无重复字符的最长子串是 “abc”,其长度为 3。示例 2:输入: “bbbbb” 输出: 1 解释: 无重复字符的最长子串是 “b”,其长度为 1。示例 3:输入: “pwwkew” 输出: 3 解释: 无重复字符的最长...原创 2018-08-31 11:45:22 · 356 阅读 · 0 评论 -
LeetCode之旅:48. 旋转图像
题意:给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例 2:给定 mat...原创 2019-06-23 20:35:43 · 205 阅读 · 0 评论