Leetcode-笔记
文章平均质量分 64
随笔。
床下小黑
这个作者很懒,什么都没留下…
展开
-
Leetcode #503 下一个更大元素 II
目录题目描述解题思路我的代码心得题目描述给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/next-greater-element-ii示例1:输入: [1,2,1]输出: [2,-1,2]解释: 第原创 2021-03-06 23:42:29 · 246 阅读 · 0 评论 -
Leetcode #338 比特位计数
目录题目描述解题思路我的代码心得题目描述给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/counting-bits/示例1:输入: 2输出: [0,1,1]示例2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在原创 2021-03-03 22:28:08 · 166 阅读 · 1 评论 -
Leetcode #304 二维区域和检索 - 矩阵不可变
目录题目描述解题思路我的代码心得题目描述给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2) 。上图子矩阵左上角 (row1, col1) = (2, 1) ,右下角(row2, col2) = (4, 3),该子矩形内元素的总和为 8。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/range-sum-query-2d-immutable/示例1:给定 mat原创 2021-03-03 00:38:19 · 119 阅读 · 0 评论 -
Leetcode #303 区域和检索 - 数组不可变
目录题目描述解题思路我的代码心得题目描述给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。实现 NumArray 类:NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 返回数组 nums 从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点(也就是 sum(nums[i], nums[i + 1], … , nums[j]))来源:力扣(Lee原创 2021-03-01 21:27:51 · 126 阅读 · 1 评论 -
Leetcode #1004 最大连续1的个数III
目录题目描述解题思路我的代码心得题目描述给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/max-consecutive-ones-iii/示例1:输入:A = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释: [1,1,1,0,0,1,1,1,1,1,1]粗体数字从 0 翻转到原创 2021-02-19 23:33:23 · 300 阅读 · 0 评论 -
Leetcode #566 重塑矩阵
目录题目描述解题思路我的代码心得题目描述在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble原创 2021-02-17 21:47:09 · 104 阅读 · 0 评论 -
Leetcode #561 数组拆分I
目录题目描述解题思路我的代码心得题目描述给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。返回该最大总和 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/array-partition-i示例1:输入:nums = [1,4,3,2]输出:4解释:所有可能的分法(忽略元素顺序)为:原创 2021-02-16 21:26:00 · 88 阅读 · 0 评论 -
Leetcode #485 最大连续1的个数
目录题目描述解题思路我的代码心得题目描述给定一个二进制数组, 计算其中最大连续1的个数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/max-consecutive-ones/示例1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含 0 和1。输入数组的长度是正整数,且不超过 10,000。解题思路关键词:最大、连续只有 0 和原创 2021-02-15 22:42:53 · 124 阅读 · 0 评论 -
Leetcode #765 情侣牵手(贪心算法)
目录题目描述解题思路我的代码心得题目描述N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手。 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起。 一次交换可选择任意两人,让他们站起来交换座位。人和座位用 0 到 2N-1 的整数表示,情侣们按顺序编号,第一对是 (0, 1),第二对是 (2, 3),以此类推,最后一对是 (2N-2, 2N-1)。这些情侣的初始座位 row[i] 是由最初始坐在第 i 个座位上的人决定的。来源:力扣(LeetCode)链接:https://leetc原创 2021-02-14 19:54:20 · 752 阅读 · 2 评论 -
Leetcode #448 找到所有数组中消失的数字
目录题目描述解题思路我的代码心得题目描述给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-a原创 2021-02-13 01:59:43 · 121 阅读 · 0 评论 -
Leetcode #119 杨辉三角II
目录题目描述解题思路我的代码心得题目描述给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/pascals-triangle-ii/示例1:输入: 3输出: [1,3,3,1]进阶:你可以优化你的算法到 O(k) 空间复杂度吗?解题思路三种思路:法一:根据杨辉三角的数学公式,按表达式编写法二:按照常规取值规律求解,开辟空间大小为:res = [[1 for原创 2021-02-13 00:06:51 · 143 阅读 · 2 评论 -
Leetcode #567 字符串的排列
目录题目描述解题思路我的代码心得题目描述给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutation-in-string/示例1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例2:输入: s1= "ab"原创 2021-02-10 22:29:22 · 177 阅读 · 0 评论 -
Leetcode #3 无重复字符的最长子串
目录题目描述解题思路我的代码心得日期题目描述给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案原创 2021-02-10 00:57:08 · 300 阅读 · 2 评论