- 2024-03-20Leet code 974 和可被K整除的子数组
解题思路 同余必定符合条件我们计算出从第一个位置到后面每个位置的sum如果给出一段数组nums为3 4 7 3 k=5第一个位置sum=3 第二位置sum=7 第三个位置sum=14 第四个位置sum=17这里7和17余数都为2 17-7=10 10%5=0 这里可以看出余数相同一定之
- 2023-12-23leet code 581. 最短无序连续子数组
581.最短无序连续子数组题目描述给你一个整数数组nums你需要找出一个连续子数组如果对这个子数组进行升序排序那么整个数组都会变为升序排序。请你找出符合题意的最短子数组并输出它的长度。示例1:输入:nums=[2,6,4,8,10,9,15]输出:5解释:你只需要对[6,4,8,10,9]
- 2023-12-13leet code 752. 打开转盘锁
752.打开转盘锁题目描述你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字:'0','1','2','3','4','5','6','7','8','9'每个拨轮可以自由旋转:例如把'9'变为'0','0'变为
- 2023-12-07leet code 567. 字符串的排列
567.字符串的排列题目描述给你两个字符串s1和s2,写一个函数来判断s2是否包含s1的排列。如果是,返回true;否则,返回false。换句话说,s1的排列之一是s2的子串。示例1:输入:s1="ab"s2="eidbaooo"输出:true解释:s2包含s1的排列之一("ba")示例2:输入:s1="ab"s2="
- 2023-11-21leet code 402. 移掉 K 位数字
402.移掉K位数字题目描述给你一个以字符串表示的非负整数num和一个整数k移除这个数中的k位数字,使得剩下的数字最小请你以字符串形式返回这个最小的数字。示例1:输入:num="1432219",k=3输出:"1219"解释:移除掉三个数字4,3,和2形成一个新的最小的数字1219。
- 2023-11-19leet code 316. 去除重复字母
316.去除重复字母题目描述给你一个字符串s请你去除字符串中重复的字母使得每个字母只出现一次。需保证返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例1:输入:s="bcabc"输出:"abc"示例2:输入:s="cbacdcbc"输出:"acdb"提示:s由小写英文字母组成题目解析考虑从前往
- 2023-11-18leet code78. 子集 && 90. 子集 II
78.子集90.子集II78.题目描述给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。示例1:输入:nums=[1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例2:输入:nums=[0]输
- 2023-11-16leet code 77. 组合
77.组合题目描述给定两个整数n和k返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。示例1:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]示例2:输入:n=1,k=1输出:[[1]]提示:●1<=n<=20●1<=k<=
- 2023-11-14leet code 40. 组合总和 II
40.组合总和II题目描述给定一个候选人编号的集合candidates和一个目标数target找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用一次。注意:解集不能包含重复的组合。示例1:输入:candidates=[10,1,2,7,6,1,5],targ
- 2023-11-13leet code 39. 组合总和
39.组合总和题目描述给你一个无重复元素的整数数组candidates和一个目标整数target找出candidates中可以使数字和为目标数target的所有不同组合并以列表形式返回。你可以按任意顺序返回这些组合。candidates中的同一个数字可以无限制重复被选取如果至少一个数字
- 2023-11-11leet code 46. 全排列
46.全排列题目描述给定一个不含重复数字的数组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:输入:nums=[1]输出:[[1]]提示
- 2023-11-10leet code 983. 最低票价
983.最低票价题目描述在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为days的数组给出。每一项是一个从1到365的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为costs[0]美元;一张为期七天的通
- 2023-11-09leet code 322. 零钱兑换
322.零钱兑换题目描述给你一个整数数组coins,表示不同面额的硬币;以及一个整数amount,表示总金额。计算并返回可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。你可以认为每种硬币的数量是无限的。示例1:输入:coins=[1,2,5],amoun
- 2023-11-07leet code 5. 最长回文子串
5.最长回文子串题目描述给你一个字符串s,找到s中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。示例1:输入:s="babad"输出:"bab"解释:"aba"同样是符合题意的答案。示例2:输入:s="cbbd"输出:"bb"提示:1<=s.length<=1000s仅由数字和英文
- 2023-10-28leet code 30.串联所有单词的子串
leetcode30.串联所有单词的子串题目描述给定一个字符串s 和一个字符串数组words。words中所有字符串长度相同。s中的串联子串是指一个包含words中所有字符串以任意顺序排列连接起来的子串。例如,如果words=["ab","cd","ef"],那么"abcdef","abefcd","cdabef","cdefa
- 2023-10-26leet code 11. 盛最多水的容器
leetcode11.盛最多水的容器题目描述给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。提示:n==heigh
- 2023-10-25leet code 68. 文本左右对齐
leetcode68.文本左右对齐题目描述给定一个单词数组words和一个长度maxWidth,重新排版单词使其成为每行恰好有maxWidth个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格''填充,使得每行恰好有
- 2023-10-22leet code 238. 除自身以外数组的乘积
238.除自身以外数组的乘积题目解析题目要求O(n)的时间复杂度完成进阶:O(1)空间复杂度完成先不想那么多,先按照暴力思路来一遍对于每一个元素,要求得除自身以外数组的乘积,那么可以遍历所有剩下的元素进行相乘,然后得出结果这样的话时间复杂度来到了:显然不行直接算出所有元素的乘
- 2023-10-21leet code 45 && 55 跳跃游戏
45.跳跃游戏II55.跳跃游戏总结反思首先去尝试完成了一下第55题,跳跃游戏。没能独立解决问题,然后看过题解之后又重新去尝试独立完成第45题,跳跃游戏II。结果还是没搞定。看了题解之后发现两道题目的解题思路大同小异.但是作为我自己,在看过第55题的题解之后还是没能解决第45
- 2023-10-14leet code 134.加油站
134.加油站题目解析由题目中示例一,存在两个数组。一个是gas={1,2,3,4,5}代表了加油站一个是cost={3,4,5,1,2}代表了消耗的汽油需要求证的是,从索引i出发是否能够绕行一周回到索引i的位置ex:比如从gas[0]出发,能够获取的油量=1想要开往下一个加油站的话需要消耗
- 2023-10-12leet code 71. 简化路径
71.简化路径题目描述给你一个字符串path表示指向某一文件或目录的Unix风格绝对路径(以'/'开头)请你将其转化为更加简洁的规范路径。在Unix风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点(..)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分
- 2023-10-10leet code 128. 最长连续序列
128.最长连续序列题目描述给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。示例1:输入:nums=[100,4,200,1,3,2]输出:4解释:最长数字连续序列是[1,2,3,4]。它的长度为4。示
- 2023-10-07leet code 3. 无重复字符的最长子串
leetcode3.无重复字符的最长子串题目描述给定一个字符串s,请你找出其中不含有重复字符的**最长子串**的长度。示例1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:因为无重复字符的最
- 2023-09-20leet code 58. 最后一个单词的长度
leetcode58.最后一个单词的长度题目描述给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。示例1:输入:s="HelloWorld"输出:5解释:最后一个单词是“World”,长度为5
- 2023-09-18leet code 735. 行星碰撞
735.行星碰撞题目解析一道典型的运用单调栈解决的问题,元素入栈,然后当前元素和栈中元素相比较。最终得出结果。总结反思第一次遇到该问题的时候,脑海中没有丝毫关于单调栈的相关内容。想着双指针遍历数组解决问题。毫无疑问能够通过一些用例,不过不是正确的解。再次回顾,解决思路在脑