
数组
文章平均质量分 55
LEETCODE ARRAYS
牧心.
心之所向,素履以往
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【LeetCode】739. 每日温度【单调栈】
题目链接:https://leetcode-cn.com/problems/daily-temperatures/题目介绍请根据每日 气温 列表 temperatures,请计算在每一天需要等几天才会有更高的温度。如果气温在这之后都不会升高,请在该位置用0 来代替。测试样例示例 1:输入: temperatures = [73,74,75,71,69,72,76,73]输出:[1,1,4,2,1,1,0,0]示例 2:输入: temperatures = [30...原创 2021-08-24 21:50:32 · 11453 阅读 · 0 评论 -
【LeetCode】287. 寻找重复数【快慢指针】
题目链接:https://leetcode-cn.com/problems/find-the-duplicate-number/题目介绍给定一个包含n + 1 个整数的数组nums ,其数字都在 1 到 n之间(包括 1 和 n),可知至少存在一个重复的整数。假设 nums 只有 一个重复的整数 ,找出 这个重复的数 。你设计的解决方案必须不修改数组 nums 且只用常量级 O(1) 的额外空间。测试用例示例 1:输入:nums = [1,3,4,2,2]输出:...原创 2021-08-24 21:22:41 · 11664 阅读 · 1 评论 -
【LeetCode】238. 除自身以外数组的乘积
题目链接:https://leetcode-cn.com/problems/product-of-array-except-self/题目描述给你一个长度为n的整数数组nums,其中n > 1,返回输出数组output,其中 output[i]等于nums中除nums[i]之外其余各元素的乘积。测试用例示例:输入: [1,2,3,4]输出: [24,12,8,6]提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在...原创 2021-08-20 21:09:22 · 11943 阅读 · 0 评论 -
【LeetCode】39. 组合总和【回溯+剪枝】
题目链接:https://leetcode-cn.com/problems/combination-sum/题目描述给定一个无重复元素的正整数数组candidates和一个正整数target,找出candidates中所有可以使数字和为目标数target的唯一组合。candidates中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。对于给定的输入,保证和为target 的唯一组合数少于 150 个。测试用例示例1:输入...原创 2021-08-16 20:36:46 · 12894 阅读 · 0 评论 -
【LeetCode】217. 存在重复元素 【排序+异或 / 哈希】
题目链接:https://leetcode-cn.com/problems/contains-duplicate/难度:简单题目描述给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。测试用例示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出..原创 2020-12-13 16:02:55 · 26685 阅读 · 0 评论 -
【LeetCode】628. 三个数的最大乘积
题目链接:https://leetcode-cn.com/problems/maximum-product-of-three-numbers/难度:简单题目描述给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。测试数据示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。输入的数组中任意三个数的乘积不会超出.原创 2021-01-20 17:13:25 · 26673 阅读 · 0 评论 -
【LeetCode】1232. 缀点成线
题目链接:https://leetcode-cn.com/problems/check-if-it-is-a-straight-line/难度:简单题目描述在一个XY 坐标系中有一些点,我们用数组coordinates来分别记录它们的坐标,其中coordinates[i] = [x, y]表示横坐标为 x、纵坐标为 y的点。请你来判断,这些点是否在该坐标系中属于同一条直线上,是则返回 true,否则请返回 false。测试用例示例 1:输入:coordina...原创 2021-01-17 22:18:47 · 26094 阅读 · 2 评论 -
【LeetCode】605. 种花问题 【贪心】
题目链接:https://leetcode-cn.com/problems/can-place-flowers/难度:简单题目描述假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数n ,能否在不打破种植规则的情况下种入n朵花?能则返回 true ,不能则返回 false。测试用例...原创 2021-01-02 20:28:50 · 26636 阅读 · 0 评论 -
【LeetCode】455. 分发饼干 【排序+贪心】
题目链接:https://leetcode-cn.com/problems/assign-cookies/solution/难度:简单题目描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]。如果 s[j]>= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,...原创 2020-12-27 00:46:48 · 26776 阅读 · 0 评论 -
【LeetCode】714. 买卖股票的最佳时机含手续费 【动态规划】
题目链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/难度:中等题目描述给定一个整数数组prices,其中第i个元素代表了第i天的股票价格 ;非负整数fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交...原创 2020-12-18 00:44:18 · 26739 阅读 · 0 评论 -
【LeetCode】860. 柠檬水找零 【简单模拟】
题目描述在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回true,否则返回 false。测试用例示例 1:输入:[5,5,5,10,20]输出:true解释:前 3 位顾客那里,我们按顺序...原创 2020-12-10 19:09:08 · 26830 阅读 · 0 评论 -
【LeetCode】34. 在排序数组中查找元素的第一个和最后一个位置【二分查找】
题目描述:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回[-1, -1]。进阶:你可以设计并实现时间复杂度为O(log n)的算法解决此问题吗?测试示例:示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例2:输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,...原创 2020-12-01 22:42:36 · 26802 阅读 · 0 评论 -
【LeetCode】976. 三角形的最大周长
题目链接:https://leetcode-cn.com/problems/largest-perimeter-triangle/给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。如果不能形成任何面积不为零的三角形,返回0。示例 1:输入:[2,1,2]输出:5示例 2:输入:[1,2,1]输出:0示例 3:输入:[3,2,3,4]输出:10示例 4:输入:[3,6,2,3]输出:8提示:3 <...原创 2020-11-29 20:42:32 · 27106 阅读 · 3 评论 -
【LeetCode】169. 多数元素
题目链接:https://leetcode-cn.com/problems/majority-element/难度:简单题目描述给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。测试用例示例1:输入:[3,2,3]输出:3示例2:输入:[2,2,1,1,1,2,2]输出:2题解选取候选的多数元素。依次扫描所给数组中的每个整数,将第一...原创 2021-04-22 23:04:36 · 18844 阅读 · 0 评论 -
【LeetCode】136. 只出现一次的数字 【异或】
题目链接:https://leetcode-cn.com/problems/single-number/难度:简单题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?测试用例示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4题解思路简单明了:用异或(XOR)!两两抵消,剩..原创 2021-04-22 23:10:07 · 18889 阅读 · 0 评论 -
【LeetCode】448. 找到所有数组中消失的数字
题目链接:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/难度:难度题目描述给定一个范围在1 ≤ a[i] ≤ n (n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。测试用例...原创 2021-04-22 23:35:00 · 18701 阅读 · 0 评论 -
【LeetCode】283. 移动零
题目链接:https://leetcode-cn.com/problems/move-zeroes/难度:简单题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。测试样例输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。题解用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。右指针不断向右移动,每次右指.原创 2021-04-23 01:26:22 · 18912 阅读 · 0 评论 -
【LeetCode】1.两数之和 [两种解法]
题目链接:https://leetcode-cn.com/problems/two-sum/题目描述:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题解:...原创 2020-11-20 22:44:14 · 27013 阅读 · 1 评论 -
【LeetCode】78. 子集
题目链接:https://leetcode-cn.com/problems/subsets/难度:中等题目描述给你一个整数数组nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。测试用例示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]提示:.原创 2021-05-09 23:23:25 · 18287 阅读 · 0 评论 -
【LeetCode】46. 全排列
题目链接:https://leetcode-cn.com/problems/permutations/难度:中等题目描述给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。测试用例示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输.原创 2021-05-11 13:08:17 · 17921 阅读 · 0 评论 -
【LeetCode】48. 旋转图像【两次翻转】
题目链接:https://leetcode-cn.com/problems/rotate-image/题目描述给定一个 n×n 的二维矩阵matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。测试样例示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]示例 2:输入:m...原创 2021-08-16 17:14:31 · 12249 阅读 · 0 评论 -
【LeetCode】496. 下一个更大元素 I 【单调栈】
题目链接:难度:题目描述给你两个 没有重复元素 的数组nums1 和nums2,其中nums1是nums2的子集。请你找出 nums1中每个元素在nums2中的下一个比其大的值。nums1中数字x的下一个更大元素是指x在nums2中对应位置的右边的第一个比x大的元素。如果不存在,对应位置输出 -1 。测试用例示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2].输出: [-1,3,-1]解释:...原创 2021-08-02 17:56:51 · 13412 阅读 · 0 评论 -
【LeetCode】463. 岛屿的周长
题目链接:https://leetcode-cn.com/problems/island-perimeter/难度:简单题目描述给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域。网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相.原创 2021-08-02 17:42:56 · 14017 阅读 · 2 评论 -
【LeetCode】453. 最小操作次数使数组元素相等
题目链接:https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements/难度:简单题目描述给定一个长度为 n 的 非空 整数数组,每次操作将会使 n - 1 个元素增加 1。找出让数组所有元素相等的最小操作次数。测试用例示例:输入:[1,2,3]输出:3解释:只需要3次操作(注意每次操作会增加两个元素的值):[1,2,3] => [2,3,3] => [3,4,3]...原创 2021-08-02 14:42:07 · 13271 阅读 · 0 评论 -
【LeetCode】448. 找到所有数组中消失的数字 【Hash】
题目描述:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/难度:简单题目描述给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。测试用例示例 1:输入:nums = [4,3,2,7,8,2,3,1]输出:[5,6]示例 2:输入:.原创 2021-07-31 21:38:41 · 13356 阅读 · 0 评论 -
【LeetCode】349. 两个数组的交集 & 350. 两个数组的交集 II
349. 两个数组的交集题目链接:https://leetcode-cn.com/problems/intersection-of-two-arrays/难度:简单题目描述给定两个数组,编写一个函数来计算它们的交集。测试用例示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]说明:输出结果中的每个元素一定是唯原创 2021-07-31 20:45:26 · 13203 阅读 · 0 评论 -
【LeetCode】303. 区域和检索 - 数组不可变 【前缀和】
题目链接:https://leetcode-cn.com/problems/range-sum-query-immutable/难度:简单题目描述给定一个整数数组 nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i、j两点。实现 NumArray 类:NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 返回数组 nums 从索引i到j(i≤j)范围内元素的总和,包含...原创 2021-07-31 20:06:35 · 13283 阅读 · 0 评论 -
【LeetCode】283. 移动零
题目链接:https://leetcode-cn.com/problems/move-zeroes/难度:简单题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。测试用例输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。题解使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。右指针不断向右移动,每次.原创 2021-07-31 16:58:34 · 13260 阅读 · 0 评论 -
【LeetCode】268. 丢失的数字 【异或 / 高斯公式】
题目链接:https://leetcode-cn.com/problems/missing-number/难度:简单题目描述给定一个包含 [0, n]中n个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。进阶:你能否实现线性时间复杂度、仅使用额外常数空间的算法解决此问题?测试用例示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因...原创 2021-07-31 16:41:31 · 13391 阅读 · 0 评论