笨小林做力扣
By Error
这个作者很懒,什么都没留下…
展开
-
345. 反转字符串中的元音字母
怎么说呢,这个方法不是最优解,但是我从这个方法中学到了一些知识,有成长的空间!!!提示:这篇水文正式开始了欧!!!提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。原创 2023-07-27 12:37:30 · 77 阅读 · 0 评论 -
力扣 7月27日每日一题 2500. 删除每行中的最大值
题目连接 ==》2500.删除每行中的最大值 有一句话这么说的:不用把人生的每一个目标都定在年龄线上,人生的本质是体验,感悟,和成长。什么年龄该干什么事本来就是一个伪命题。事实上,当你找到你热爱的东西,你的人生才真正开始!! 嘿嘿,共勉欧!!!原创 2023-07-27 10:24:11 · 211 阅读 · 0 评论 -
力扣第四题 4. 寻找两个正序数组的中位数
嗯呐,这道题不难!!!,第一次做这道题的时候是在2022年10月29日,当时没做出来,看了下,代码的行数,真长,当时是怎么想这道题的?我也不知道,况且当时还没做出来。今天重新看了这道题,感觉好简单的,反正在我看来,不应该是个困难的题目,可能这大半年有所成长吧!!好看好学,你们觉得假面骑士最近三年的好看嘛??原创 2023-07-27 00:33:54 · 125 阅读 · 0 评论 -
2208. 将数组和减半的最少操作次数 力扣!7月26每日一题
题目的话,分析一下看起来就很简单,将数组进行排序,从大到小排序,每次将最大的数除以2再和数组中其他的数进行相加,如此操作,若相加求的和小于等于原数组和的一半,则返回操作(每次将最大的数除以2再和数组中其他的数进行相加,如此操作 就是看这个步骤操作了几次而已)的次数,第一次是运用数组排序 =》 Arrays.sort 这个进行排序,结果连测试用例都没通过,错误的问题是这个排序算法是从小到大进行排序的。最后发现了这个错误,修改之后,发现还是不行。看了大佬的解题思路,我才发现我肤浅了,大佬都用的是大顶堆,原创 2023-07-26 00:38:17 · 174 阅读 · 0 评论 -
1431. 拥有最多糖果的孩子
今天的学习任务已经完成!!!十个单词 + 一个算法题总之这道题简单!!!原创 2023-07-24 18:58:30 · 54 阅读 · 0 评论 -
力扣 1071. 字符串的最大公因子
好吧就这个,简单,不过还是看了大佬的解题思路,那才是最简单的,多学多学!!!原创 2023-07-23 22:04:53 · 85 阅读 · 0 评论 -
嗯呐,力扣吧,1768. 交替合并字符串
最近,在搞英语和java对应的框架啥的,都是去看b站的视频,主要是下半年大四了,就要去实习了,所以说再恶补java的框架的知识,在途中,为了跟b站的项目又去学了前端的一些框架,真的,学无止境啊。学了这么长时间突然发现算法也不能拉下,去看了之前做的力扣题,感觉有些题的解题思路已经忘记了,所以说,从今天开始,每天背单词和做一道算法题!加油,朋友们,我会更新每天的力扣算法题,有需要的可以关注我,私信我,给我留言。一起加油吧!!!力扣1768. 交替合并字符串。大概是这么个东西吧。原创 2023-07-22 20:25:49 · 99 阅读 · 0 评论 -
力扣【LeetCode】242有效的字母异位词
这道题,就创建一个26字母的数组表,数组长度为26嘛,a的话就相当于下标0,遍历两个字符串嘛,第一个字符串负责++;第二个字符串负责--;最后循环这个数组,如发现有值不等于0的话,就返回fales,负责true。原创 2023-01-31 20:33:58 · 55 阅读 · 0 评论 -
力扣【leetcode】169.多数元素
这道题我首先用的是哈希表用来记录元素,具体思路就不展示了。再一次我看官方的解法,看到了一个思路,俗称:摩尔投票法。原创 2023-01-31 20:03:00 · 61 阅读 · 0 评论 -
力扣【leetcode】88.合并两个有序数组
判断第二个指针个第三个指针对应的元素谁大,则放入第一个指针指向的位置。num1中包含的元素: 1,2,3,0,0,0。num1中包含的元素: 1,2,3,0,0,0。第一次:num1 1,2,3,0,0,6。第二次:num1 1,2,3,0,5,6。第三次:num1 1,2,3,3,5,6。第四次:num1 1,2,2,3,5,6。第二个指针指向 num1非零的最后一个元素。第一个指针指向num1最后一个元素。num2中包含的元素:2,5,6。num2中包含的元素:2,5,6。原创 2023-01-29 19:36:50 · 66 阅读 · 0 评论 -
力扣【leetcode】21.合并两个有序链表!不难!
这道题不难,只需要递归就可以完成了,代码不是很简洁,但是也可以一看就能明白!原创 2023-01-22 20:49:51 · 49 阅读 · 0 评论 -
力扣 第20题 有效的括号
凡是左括号 入栈,右括号 从栈中取出对应的,往往对应的左括号就在栈的第一个元素。你可以看出来,如果正确的话,每一个左括号对应一个右括号,反之则是错误的。在此题中,如果把最后一个元素也遍历完,栈中为空的时候,返回true,由此你可以看出来,当需要弹栈的时候,对用的左括号刚好在栈顶。如果,栈为空了,当前遍历的是右括号,返回false。要明白给你的括号是肯定是有一定的规律的。, 入栈 ,栈中。在这道题如何使用栈呢?原创 2022-12-30 13:24:21 · 87 阅读 · 0 评论 -
2022年12月29日力扣每日一题第2032道
主要就是使用数组+枚举法给做出来了,题也很简单,题中的大概意思就是,给你三个数组,让你求出三个数组中,至少两个数组中都出现过得数,所以说,创建一个长度为超过100的数组,凡是在一个数组中出现的数,则对应下标的设为1,创建三个数组即可,在用if语句,如果对应的超过1次,则添加到list中。原创 2022-12-29 19:48:36 · 81 阅读 · 0 评论 -
力扣 13 罗马数字转整数,没啥厉害的,主要是看官方解法
你会发现,在题目中所说的情况中,I在V和C的左边相当于整体上-1,那么整体上思路就来了,去判断当前这个字符所代表的的数字是否比下一位小,小则减去当前这个字符所代表的的数字,没啥厉害的,主要是看官方解答。原创 2022-12-29 17:41:49 · 52 阅读 · 0 评论 -
力扣(leetcode)[119. 杨辉三角 II]简单!
简单的很,就在之前的118道题中,提取对应的链表。> Problem: [119. 杨辉三角 II]原创 2022-11-21 22:09:27 · 471 阅读 · 0 评论 -
力扣(leetcode)每日一题[1732. 找到最高海拔]这个比较简单,我做了,嘻嘻,莫说我水
最笨的方法,就是前缀和,前缀和是这个题解题的关键,可能有些人想出来的这个思路。> 仔细看题,就能明白,当前的值加上前一个的值赋给当前的值,全都如此,求最大的那个值。解释:海拔高度依次为 [-5,-4,1,1,-6]。> Problem: [1732. 找到最高海拔]输入:gain = [-5,1,5,0,-7]> 添加时间复杂度, 示例: $O(n)$> 添加空间复杂度, 示例: $O(n)$原创 2022-11-20 00:37:00 · 98 阅读 · 0 评论 -
力扣(leetcode)[118. 杨辉三角] 简单
看官方给的图就明白了,杨辉三角嘛,最左边和最右边的数都为1,中间的数就是对应上面两个之和,即下面一行的第二个(第一个是1)是上面那一行第一个和第二个的和,就这么简单,具体看下面代码,简单,易懂。> Problem: [118. 杨辉三角]> 添加时间复杂度, 示例: $O(n)$> 添加空间复杂度, 示例: $O(n)$简单的图如jianl。原创 2022-11-20 00:15:24 · 152 阅读 · 0 评论 -
[283. 移动零]力扣(leetcode)看我博客,就明白了,如此简单。
给你一个数组,[1,2,0,5,0,0,0,9];这么一个数组,接下来模拟一下我的做题思路,使用双指针法,两个指针,都从数组的第一位开始,一个指针设为star,一个设为end,> 没啥思路,就感觉就简简单单,想一下,给你一个数组,则只需要把非0的移到前面,具体看解题方法。如果star指向0,end指向非0数,则star指向的数替换为end指向的数,最后使用把star后面指向的数全部替换成0,包含star'此时指向的数。如果star指向0,end也指向0,则end向后移动一位。原创 2022-11-17 11:11:31 · 86 阅读 · 0 评论 -
力扣(leetcode)[665. 非递减数列] 确实不简单 怎么说呢,算暴力解法,但是好理解
这个题确实不简单,这个题看似很简单,但是如果没动脑筋确实不能通过全部测试用例。> 怎么说呢,每次遍历,看其中连续的三个数字,从左到右记为x.y,z。就这三种情况进行编写程序,需要多次在纸上模拟多种情况才能进行解答。第三种情况 x > y , y z,z>=x 则令y = x。> Problem: [665. 非递减数列]第二种情况y>z,z 添加时间复杂度, 示例: $O(n)$> 添加空间复杂度, 示例: $O(n)$原创 2022-11-16 23:13:58 · 90 阅读 · 0 评论 -
力扣(leetcode)[453. 最小操作次数使数组元素相等]我见识到了,算法的终极是数学
题目明确的说了,有n个数,每次修改n-1个数进行+1;换一种思路来说,每次对一个数进行-1;根据题意,按咱们的思路来说,每次修改最大的一个数到最小的数那个数值,即可,所以思路来了呀,宝贝!> Problem: [453. 最小操作次数使数组元素相等。> 是我做算法做多了,我变菜了,世界的终极就是数学!> 添加时间复杂度, 示例: $O(n)$> 添加空间复杂度, 示例: $O(n)$原创 2022-11-15 22:43:38 · 142 阅读 · 0 评论 -
力扣(leetcode)[41. 缺失的第一个正数]看代码,真的容易懂,我也是刚开始刷题的,多看看我做的题,看代码就知道是啥意思,比其他人简单
第一次还是使用简单的创建一个新数组,但是呢,这个思想去测试用例的时候显示超内存。又想到之前刷题学到的TreeSet类其中的放法,这个类的方法中,add(T,t)方法添加的数字只重复一次,pollFirst()方法,去列表中第一个数字,即最小的数字,如果列表为空,则返回null。再看这道题,说的是求最小的正整数,所以再使用ad方法进行添加的时候,判断是否为正整数,0和负整数均不添加。原创 2022-11-14 23:20:35 · 91 阅读 · 0 评论 -
力扣(leetcode)[442. 数组中重复的数据]简单易懂,初刷题可以来看看
Problem: [442. 数组中重复的数据](https://leetcode.cn/problems/find-all-duplicates-in-an-array/description/)第一种,创建一个数组,数组的长度为100009,如果nums数组中出现一次,则新数组中对应的下标(nums数组中出现的数)+1;然后遍历,然后对新数组进行循环,如果对应的值为2则,对应的下标添加;第二种,Arrays.sout(nums)对nums进行排序,排完后对数组进行for循环,> 描述你的解题方法。原创 2022-11-14 22:51:45 · 141 阅读 · 0 评论 -
力扣(leetcode)[448. 找到所有数组中消失的数字]之我真厉害,自己做的题嘻嘻
创建一个新的数组arr是布尔类型的,长度是nums.lenght+1,先一次for循环,如果出现某个数字的话,arr下表为该数字的值改为ture;因为arr默认的值为false,注意arr[0] = true;然后再进行一次for循环,循环arr数组,当某个值为false的时候,将该下标放在List中,思路如此,简单易懂!> 看了好久,在这个思路想出来之前,我试了其他几种情况,确实浪费了好长时间!> Problem: [448. 找到所有数组中消失的数字]原创 2022-11-13 22:02:39 · 84 阅读 · 0 评论 -
力扣(leetcode)[697. 数组的度]我是菜菜之借鉴别人思路,不过非常简单,容易理解的方法,过来看看吧
简简单单的解题方法,首先定义三个数组大小必须比 nums[i]大,因为接下来的数组一个记录该数字出现的次数(countArr),一个记录该数字第一次出现的位置*(leftArr),一个记录该数字最后出现的位置(rightArr),在这三个数组中,下标均为nums[i]作为下标,方便计算,所以,我在此设置的数组长度为50009,其实50001就可以,习惯性设置这样子(nums[i] 是一个在 0 到 49,999 范围内的整数。最近更新的都是关于数组中统计数组中的元素方面的题,加油!原创 2022-11-12 23:24:33 · 80 阅读 · 0 评论 -
力扣[645. 错误的集合] 暴力解法
没啥,我试了好几种思路,我最后只能用这种方法进行暴力解法。> Problem: [645. 错误的集合]> 添加时间复杂度, 示例: $O(n)$> 添加空间复杂度, 示例: $O(n)$> 讲述看到这一题的思路。原创 2022-11-08 23:35:03 · 67 阅读 · 0 评论 -
628. 三个数的最大乘积 此题之我最笨
在明白题目的意思后,就要明白怎么三个数乘积最大,其中还包含负数,得考虑情况!所以最后得到得结论,最大得三个数相乘与最小的数,第二小的数,最大的数相乘看谁最大,为啥要求最小的两个数,如果最小的两个数都为负数,且绝对值都比最大的数大,那这是不是有这么个情况呀!> 我看用上一道题的思路去搞这个,还以为挺简单的,结果,结果TreeSet类中添加的元素虽说是按升序排列,但是每种元素只能存放一次,就很难过,在想了一种思路,结果题目理解错了,看成了最大的三个数,我可真难过呀!理解题意,求乘积最大的积。原创 2022-11-08 21:38:19 · 70 阅读 · 0 评论 -
力扣leetcode [414. 第三大的数] 一眼一看就懂的思路和代码
在这个方法是我第一次想到的放法,但是第一次实现的时候没实现成功,没有这个简洁,但是在写这个代码的途中,当a == null 时,num>a 会发生错误,所以在解决这个问题的时候思考了很久,看到上面都定义为null,所以添加了一个a==null与num>a进行或运算,这个代码相当来说比较简单,希望你们能看懂,有问题评论区可以提问!> 知道里面有两个方法:poolFirst() 返回最小的数,并且删除,若集合为空,返回null。poolLast() 返回最大的数,并且删除,若集合为空,返回null。原创 2022-11-08 00:16:33 · 259 阅读 · 0 评论 -
第495题 提莫攻击 简简单单的思路,速看!简单易懂,速看,博主推荐! 有代码!
第一次遍历 取出数组中第一个数 1 1+2 则是中毒到此时间结束, 则为1,2当前中毒两秒,第3秒结束, 进行判断,看是否是最后一个数,如果是最后一个数则不需要进行下面判断,如果上面此判定为否,看中毒结束的时间与第二个数的是否相等,如果相等或者大于,则用该时间减去前一个数,则为在下一个攻击前中毒的秒数,如果上面的判定为否,则用中毒的结束秒数减去中毒刚开始的时间,则为中毒的时间,则与a相加,前两个判定为是,则也进行相加。接下来的循环理应也如此!原创 2022-11-07 22:21:38 · 184 阅读 · 0 评论 -
[485. 最大连续 1 的个数],最简单的数组类型的题
遍历数组,并且设置两个int型变量,一个用来记录最长1的数量,另外一个记录见1则+1,见0则变0,如果第一个变量小于第二个变量,则进行替换。> Problem: [485. 最大连续 1 的个数]最近会更新关于数组类型的题,此题为数组中的遍历。>原创 2022-11-07 00:38:12 · 58 阅读 · 0 评论 -
力扣22 括号生成,我好笨欧!
有一说一,这个题要看你的脑子的思路,我在看这道题的时候我在草稿纸上演算了好几遍,但是总感觉挺麻烦的,实在想不出来,我好笨欧!不过看解题思路之后,我似乎明白了。则算给出的2的时候就简单了,则就有两种情况,第一种 i = 0 则就是在n=0的情况记为 left 与2-i-1=1的情况,记为 right。题目的范围是1-8;但是如果是0的话,就是 ""> Problem: [22. 括号生成]已知如果给的是1的话则输出 "()"原创 2022-11-03 15:31:53 · 51 阅读 · 0 评论 -
力扣121题买卖股票的最佳时机 简单容易明白
博主最近在力扣上做算法题,一天一道,可以跟着我来练习,有啥不会的可以留言,或者不理解力扣上面哪道可以进行留言。有啥不会的题也可以留言,仅限于简单与中等难度的。愿我们变的越来越好有啥不明白的评论区留言!!原创 2022-11-02 22:19:07 · 110 阅读 · 0 评论 -
力扣第十一题盛最多水的容量
在看题的第一刻,想到的是利用for双循环进行遍历数组,进行双循环遍历,进行判断,每次循环的时候算出可以装的最大的容量,不过利用双循环的话,可以求出来,不过在提交的时候显示超出时间限制。再看了一下标签,有个双指针,所以再双指针这个解题思路想了一下,在每次循环的时候,最小的数的下标进行加一或者减一,留最大的那个数,换最小的数。原创 2022-11-01 18:36:52 · 68 阅读 · 2 评论 -
力扣第7题. 整数反转,听起来简单,需要数学思维和对java的理解才容易做,简单的思路,快看
在我看来,我看了两种解题思路,前面的思路都一样,都是将数字求余,在循环的最后把数字除10,在第一种中,你要明白,int型的最大值和最小值或者取值是-2147483648~2147483647 2的32次方-1到负的12的32次方 最大值的长度都是10位,所以在第9位的时候需要去判断下一位是否大于最大值的最后一位,或者小于最小值的最后一位,所以是ins == 214748364 时判断 y 是否大于7 最小应如此。原创 2022-10-31 19:18:02 · 76 阅读 · 0 评论 -
力扣第5题最长回文子串
这里有时候会让上面的越界,就当“0123210”,下面这个函数最后返回的值是9,当时再想最后这个下标是0和7,所所以在返回时+1,最后发现这个时错误的,当while循环结束后l=-1,r=7,所以在最后想起来在返回时-1,因为这个原因我在此换了while里面的好几个条件,发现啥都没用。再看了好几遍视频和代码才看懂的,不过自己写的代码没官方的代码看起来简单明了,建议看下官方的解题思路!这两行代码看似含简单,但是难理解,要到草稿纸上不断的演示,来算i到目标下标之间的关系!原创 2022-10-31 00:33:58 · 101 阅读 · 0 评论 -
力扣第三题 无重复字符的最长子串
双指针指向无重复字符的最长字串 而双指针构成的那部分可以看成一个滑动窗口 中间运用双for循环 外面for循环遍历整个字符串,内循环遍历整个滑动窗口 当外循环的字符在内循环的滑动窗口存在时,左指针指向内循环该字符指针的后一位,在求出最大的无重复字符最长字串的长度(最大值) 当外循环结束后,则整个代码运行结束。防止内循环在外循环运行第一次时执行。有啥不懂的评论区可以问。原创 2022-10-28 19:44:19 · 358 阅读 · 2 评论