LeetCode题解
文章平均质量分 80
其他
小样测试笔记
万事开头难
展开
-
15. 三数之和
给你一个整数数组 nums ,判断是否存在三元组numsinumsjnumsk]]满足i!ji!k且j!k,同时还满足numsinumsjnumsk==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。原创 2023-04-14 21:19:14 · 484 阅读 · 1 评论 -
14. 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。原创 2023-04-10 21:06:50 · 257 阅读 · 0 评论 -
13. 罗马数字转整数
IVXLCD和M。例如, 罗马数字2写做II,即为两个并列的1。12写做XII,即为XII。$27 $写做XXVII, 即为XXVII。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,数字9表示为IX。I可以放在V5和X10的左边,来表示4和9。X可以放在L50和C100的左边,来表示40。原创 2023-04-09 21:51:56 · 484 阅读 · 0 评论 -
12. 整数转罗马数字
IVXLCD和M。例如, 罗马数字2写做II,即为两个并列的1。12写做XII,即为XII。$27 $写做XXVII, 即为XXVII。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,数字9表示为IX。I可以放在V5和X10的左边,来表示4和9。X可以放在L50和C100的左边,来表示40。原创 2023-04-09 16:55:32 · 478 阅读 · 0 评论 -
11. 盛最多水的容器
给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是i0和iheighti])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。原创 2023-04-07 20:43:30 · 410 阅读 · 0 评论 -
9. 回文数
给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。原创 2023-04-03 17:09:03 · 249 阅读 · 0 评论 -
8. 字符串转换整数 (atoi)
请你来实现一个myAtoistrings函数,使其能将字符串转换成一个32位有符号整数(类似CC中的atoi函数)。原创 2023-04-03 16:03:34 · 474 阅读 · 0 评论 -
7. 整数反转
当两个操作数都为整数时,// 返回一个整数,表示整数除法的结果向下取整的值。对于 -123 // 10,同样是进行整数除法运算,结果为 -12.3,向下取整的值为 -13,因此该运算的结果为 -13。例如,对于 123 // 10 来说,整数除法的结果为 12.3,向下取整的值为 12,因此该运算的结果为 12。在Python中,可以使用切片(slicing)操作对序列(如字符串、列表、元组等)进行切割或抽取子序列。从输入的数字中反复右移推出数字,对于计算结果再推入数字。中的数字部分反转后的结果。原创 2023-03-31 22:09:00 · 186 阅读 · 0 评论 -
6. N 字形变换
字型依次存入到数组中,再按照行的顺序依次读出来。但是第二种方法的思路为直接将字符存入到新的列表中,该列表由。个字符串中,每一个字符串为一行的数据。当在第一行和最后一行时为转折处,实行逆向存储,改变flag的值。个字符串组成,每一个字符串为一行的数据,直接将列表的内容顺序读出来即可。其实这种思路和二维数组差不多,只不过二维数据是先将字符按。型存储到二维数组中,然后再按行顺序输出一个字符串即可。个字符串组成的数组,将字符依次分别顺序存储到。第三种方法也类似于第二种方法,建立一个由。来表示该存入列表的哪个位置。原创 2023-03-30 19:56:35 · 435 阅读 · 0 评论 -
5. 最长回文子串
动态规划算法与我们前面提及的分治算法相似,但是两者之间也有很大区别:分治法将问题划分为互不相交的子问题,递归的求解子问题,再将他们的解组合起来求解原问题的解;分治法还是会做很多重复的不必要的工作,他会反复求解那些公共的子问题,而动态规划算法则对相同的每个子问题只会求解一次,将其结果保存起来,避免一些不必要的计算工作。实际上面代码其实还可以优化一下,在截取的时候,如果截取的长度小于等于目前查找到的最长回文子串,我们可以直接跳过,不需要再判断了,因为即使他是回文子串,也不可能是最长的。原创 2023-03-24 20:22:21 · 144 阅读 · 0 评论 -
3. 无重复字符的最长字串
其实就是一个队列,比如例题中的 abcabcbb,进入这个队列(窗口)为 abc 满足题目要求,当再进入 a,队列变成了 abca,这时候不满足要求。所以,我们要移动这个队列!我们只要把队列的左边的元素移出就行了,直到满足题目要求!一直维持这样的队列,找出队列出现最长的长度时候,求出解!,请你找出其中不含有重复字符的最长子串的长度。原创 2023-03-21 20:44:36 · 112 阅读 · 0 评论 -
4. 寻找两个正序数组的中位数
根据一个有序数组的情况,在两个有序数组的情况下,用一条分割线也可以将两个数组划分为两个部分。如果数组的长度为偶数的话,中位线将数组划分为两个子数组,左数组和右数组长度相等,它的中位数为左边数组最大值和右边数组最小值的平均值。如果数组的长度为奇数的话,中位线将数组划分为俩个不等长度的子数组,可以左边数组比右边数组多一个数,也可以右边数组比左边数组多一个数。如果两个有序数组之和为奇数的话,我们规定红线左边部分的个数比右边部分的个数多一个(当然你也可以反着)。合并数组 = [1,2,3] ,中位数 2。原创 2023-03-17 16:18:52 · 202 阅读 · 0 评论 -
88. 合并两个有序数组
一开始也想到了指针,但是指针太菜了,不会写,之后想的大概思路就是,开头先进行一个判断,后半部分是空的,可以直接覆盖而不会影响结果。方法一之所以要将数组后移和方法三中之所以要使用临时变量,是因为如果直接合并到数组中。中的元素可能会在取出来之前被覆盖,那么如何避免直接覆盖掉原有的元素呢?,分别比较两个数组指针指向的数字大小,将较小的数字存入到新的数组中。:最终,合并后数组不应由函数返回,而是存储在数组。中,使合并后的数组同样按 非递减顺序排列。个元素表示应合并的元素,后。是否为空,如果为空,将。原创 2023-03-19 21:46:30 · 488 阅读 · 0 评论 -
2. 两数相加
给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。原创 2023-03-21 20:06:39 · 74 阅读 · 0 评论 -
1. 两数之和
给定一个整数数组nums和一个整数目标值target,请你在该数组中找出 和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。原创 2023-03-20 16:56:03 · 176 阅读 · 0 评论