
leetcode刷题/数组
文章平均质量分 50
公仔面i
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode刷题/字符串 844.比较含退格的字符串(0ms)
844.比较含退格的字符串题意:给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。示例 1:输入:S = "ab#c", T = "ad#c"输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = "ab##", T = "c#d#"输出:true解释:S 和 T 都会变成 “”。示例 3:输入:S = "a##c", T = "#a#c"原创 2021-07-04 21:30:55 · 154 阅读 · 0 评论 -
leetcode刷题/字符串 76. 最小覆盖子串(动态窗口)
76. 最小覆盖子串题意:给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = "ADOBECODEBANC", t = "ABC"输出:"BANC"示例 2:输入:s = "a", t = "a"输出:"a"解题思路:先找出所需要的字符的个数,利用滑动窗口,在最开始先扩展窗口,也就是right指针原创 2021-07-07 10:15:22 · 289 阅读 · 0 评论 -
leetcode刷题数组篇总结
文章目录前言leetcode刷题数组题型和技巧一.数组的二分查找二.双指针删除元素三.滑动窗口前言leetcode刷题数组:这是我第一次开始认真做题和写博客,希望我能一直坚持下去,每天可以做一道题或者两道题然后写博客.养成刷题的习惯,基本上每一次做题我都能惊讶大佬的题解这么巧妙,有时候真的会感觉到智商上的不足,所以只能用量来锻炼自己.我这些题都是跟着别人的推荐做的顺序,从数组开始到后面的贪心,动态规划什么的.一步步做下去深入,坚持锻炼自己的算法能力.希望自己也能写出让别人看到后会惊讶的题解.原创 2021-07-07 11:09:58 · 354 阅读 · 0 评论 -
leetcode刷题/数组 904. 水果成篮(同样的代码在VS和leetcode上运行结果不一致)
904. 水果成篮题意:在一排树中,第 i 棵树产生 tree[i] 型的水果。你可以从你选择的任何树开始,然后重复执行以下步骤:把这棵树上的水果放进你的篮子里。如果你做不到,就停下来。移动到当前树右侧的下一棵树。如果右边没有树,就停下来。请注意,在选择一颗树后,你没有任何选择:你必须执行步骤 1,然后执行步骤 2,然后返回步骤 1,然后执行步骤 2,依此类推,直至停止。你有两个篮子,每个篮子可以携带任何数量的水果,但你希望每个篮子只携带一种类型的水果。用这个程序你能收集的水果树的最大总量原创 2021-07-05 23:14:44 · 535 阅读 · 0 评论 -
leetcode刷题/数组 209. 长度最小的子数组
209. 长度最小的子数组题意:给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合条件的子数组,返回 0 。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。示例 2:输入:target = 4, nu原创 2021-07-05 16:56:01 · 259 阅读 · 0 评论 -
leetcode刷题/数组 977. 有序数组的平方
977. 有序数组的平方题意:给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]解题思路:因为最大值永远都是两个边界值的平方其中一个原创 2021-07-05 13:39:14 · 299 阅读 · 0 评论 -
leetcode刷题/数组 283. 移动零
283. 移动零题意:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数.解题思路:运用双指针,两个下标同时移动,如果找到非0的值就两个值互换.找到0就让右指针加1,换完就可以把值置为0,可以省下后面遍历置0的时间.代码:class Solution {public: void mo原创 2021-07-04 20:41:29 · 176 阅读 · 0 评论 -
leetcode刷题/数组 367. 有效的完全平方数(0ms)
367. 有效的完全平方数给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。进阶:不要 使用任何内置的库函数,如 sqrt 。示例 1:输入:num = 16输出:true示例 2:输入:num = 14输出:false解题思路:这个题跟上一道题的找平方数是一样的,甚至更加简单,只需要判断即可.利用二分查找在数间查找到有相乘等于num的数时,就返回true,如果没有就返回false;代码:class S原创 2021-07-03 23:42:12 · 223 阅读 · 0 评论 -
leetcode刷题/数组 69. x 的平方根
69. x 的平方根题意:实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。来源:力扣(LeetCode)示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。解题思路:利用二分法来查找数字,如果用暴力就会超时.每一次都折半查找中间位置的数,找到就放回值.如果找不到就原创 2021-07-03 23:08:16 · 184 阅读 · 0 评论 -
leetcode刷题/数组 53_最大子序和
53. 最大子序和题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1示例 5:输入:nums = [-100000]输出:-1原创 2021-07-03 15:17:39 · 171 阅读 · 0 评论 -
leetcode刷题/数组 34_ 在排序数组中查找元素的第一个和最后一个位置
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输出:原创 2021-07-03 15:16:02 · 182 阅读 · 0 评论 -
leetcode刷题/数组 35. 搜索插入位置
35. 搜索插入位置题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0解题思路:用二分查找元素,如果有就返回当前的下标.如果没有就放回左下标.代码:原创 2021-07-02 20:52:50 · 155 阅读 · 0 评论 -
leetcode刷题/数组 27._移除元素(第一次时间击败100%用户)
27. 移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参原创 2021-07-02 12:57:24 · 380 阅读 · 0 评论 -
leetcode刷题/数组 26._删除有序数组中的重复项
26. 删除有序数组中的重复项给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝int len =原创 2021-07-02 09:47:03 · 142 阅读 · 0 评论