- 博客(25)
- 收藏
- 关注
原创 leetcode复健(java版)day4 - 11. 盛最多水的容器
看了一下别人的做法,用左右指针来做,数小的往对面移动。两个for循环,时间复杂度O(n^2)果然遇到特别大的数据超限制了。
2024-11-06 00:17:29
170
原创 leetcode复健(java版)day3 - 283. 移动零
看了网上的方法,应该是左指针指向0,右指针指向非0,若满足则交换;然后左指针+1,右指针继续找到下一个非0的,直到结束。求助了文心一言,知道了其实应该是写成四个情况i0j0,i非0j非0,i0j非0,i非0j0。在这个基础上写出来,但是在执行[1, 0]的时候跳不出来,debug发现是在。是因为进入了j<nums.length但无法进入nums[i] == 0。但上面这种写法前后都为0的话会少移动一位,like下图。需要在不复制数组的情况下原地操作。然后把重复的地方修剪一下。void不返回任何值。
2024-11-05 23:41:45
262
原创 leetcode复健(java版)day2 - 128. 最长连续序列
看了一下网上的教程,我应该找到每一组连续数字开头的数,就是我先判断一下这个数的-1在不在hashmap里,如果不在的话就是一个数据的开头,然后再判断+1在不在hashmap里,计算长度,对比长度。时间复杂度O(n),前面遍历数组存放hash是n,之后查询整个表,对于每一个num-1不在map里的数据来说都是O(1),所以第二遍也是O(n)丑丑的方法试运行调通了,但是逻辑上有问题,因为我默认从最小的数开始就是最大的。也就是说有可能就压根没有0这个index。遇上前面说的不一定是从第一个开始的问题了。
2024-11-04 01:39:39
162
原创 leetcode复健(java版)day1 - 1. 两数之和
学了一下主要逻辑大概是:先看一下target-nums[i]是否在map里,如果不在就把nums中的数字以v:k的方式放在hashmap里。时间复杂度O(n^2),虽然...但是复健这样一门新的语句已经很厉害了。不得不说,看了代码,学了亲手写了之后才真的会了java呢。最后还是来看一下java的标准解法hashmap得了。突然意识到完全不是右到左左到右一一对应计算的。太久没做了脑子不太好,调了两次都没有调通。那就用一个最朴素的方法做吧。编译了发现完全计算错误了。
2024-11-03 00:21:07
296
1
原创 一些其他的抢救
可以先做nums的差分,然后diff[i] += 3, diff[j + 1] -= 3。发现自己在笔试的时候,面对一些前缀和、模拟的题,宛如成为了废物呜呜呜!前缀用于求某个区间的元素,差分分用于修改某个区间元素。presum[i]就是 += nums[i]想对nums[i: j + 1]全部都加上3。
2023-03-11 23:36:04
124
原创 Leetcode刷题_左右指针
6.29977. 有序数组的平方和sort()是list的函数,只是在当前的地址更改顺序,sorted()是python的内置函数,可以在全局调用的map的其他用法:
2022-06-29 11:07:38
285
原创 Leetcode刷题_快慢指针
6.1527. 移除元素1)快慢指针做法: 这个不对,因为不管nums[fast]是否等于val,fast都要+1,所以应该是:2)如果直接边遍历边删除,那下标会改变,aka会跳着删,eg:输入:返回:所以需要写成nums[:]:.....................
2022-06-15 17:35:19
1570
原创 Leetcode刷题_二分查找
4.24换了一本新书来跟着练leetcode,逻辑跟我高中做物理差不多,分类型分模块数组的二分查找,掌握全闭区间[left, right]的方式吧,关于这个方法的要点:1. while的时候需要用到 nums[middle]的时候,middle要+1,因为他已经>middle了,说明本来就不会取这个值了(多余的取,浪费时间704. 二分查找 麻木了,又双叒超时了跟上面同质,所以也超时了,又去看了一下二分查找的内容,发现在闭区间下,若target > nums[..................
2022-06-03 20:51:16
1304
原创 Leetcode刷题Day15
4.19上次刷题仿佛是上辈子的事情了,最近忙ddl的各种,加上依然没有从emo里缓回来,现在虽然好像依然没有缓回来,但是还是在grief process里心情起起伏伏今天看到很多年前学过的一句话,内心大受震动:“尽吾志也而不能至者,可以无悔矣”4.20昨天又是摆烂的一天跟爸妈哭诉我感觉我这辈子可能要很晚很晚才能找到男朋友了,我可不可以35以后再结婚,如果结不了可不可以一辈子不结婚,被告知经济独立的话,可以,突然奇奇怪怪的年龄的焦虑又消失了!4.21做作业的一天,就原谅自己啦跟
2022-04-30 13:31:17
678
原创 八股_DS_5个基本库
因为这几天想紧急搞一搞暑期实习,可能要高速过一遍知识点:numpy以n维数组,或者说矩阵为基础,做高效的矢量数学运算利用高效的index,不需要循环底层是用c实现的,效率高(媲美c和matlab),它甚至还免费scipy依赖numpy的更高层库为科学和工程设计用可以实现线性代数、傅立叶变换、信号和图像的处理pandas依赖numpy结构化数据分析更高级的数据结构:time series, data frame, panel强大的数据索引和处理能力:可以方便
2022-04-13 11:40:12
4548
原创 Leetcode刷题Day14
4.11心态逐渐平和了,昨晚做题到2点,突然觉得工作和学习是真的能充实人的,背单词也要搞起来了,八股文也要搞起来了,时间序列也要看起来了人生不是一次百米冲刺,而是一次长跑,所以别太用力,但要一直努力。春天种的花,秋天一定会结果,所以努力呀!之前拜托老师讲了一下双指针,被告知python没有指针(,但是可以按照指针的思路来做题。其实之前有用双指针的方法来做题啦,但是好像都没有很掌握这个方法。btw其实好像做leetcode 用不同的方法来做题效果更好,不过我暂时还没有达到量变到质变的进化,所以暂时
2022-04-12 00:38:27
704
原创 八股复习大纲
其实基本就是那几个基础:计算机网络、计算机系统、数据库、操作系统原理、数据结构与算法分析,编译原理可能还是会有点带过,设计模式、编程能力啥的会用基于Xmind的方式其他的中间件有被推荐MySQL、Redis、Kafka啥的目前的想法是每天先按照上的课整理一部分,然后之后再刷牛客上面对应的题,总结错题,定期review暂定这样吧!...
2022-04-11 20:51:03
4803
原创 Leetcode刷题Day13
4.8浑浑噩噩混了好几天,终究是,需要学习起来了跟俊俊讨论了一下毫无优势的年龄,所以能力起来了才是最重要的,我想要的一切东西都没有办法跟以前一样撒撒娇就可以得到了,成年人的世界还是互利最有用啊,狠下心去钻研东西吧呜呜剑指 Offer 57. 和为s的两个数字看到名字,这题我熟啊,不就是那道“有人相爱,有人夜里开车看海,有人leetcode第一题做不出来”吗class Solution: def twoSum(self, nums: List[int], target: int)
2022-04-11 01:52:28
397
原创 Leetcode刷题Day12
4.2忙起来情绪就会稳定,告别了斯德哥尔摩式痛苦带来的内啡肽后,发现做题真的是非常好的内啡肽上瘾患者代偿。好好做题吧,当一个月快乐的小镇做题家~剑指 Offer 39. 数组中出现次数超过一半的数字class Solution:
2022-04-03 00:07:18
112
原创 Leetcode刷题Day10~Day11
3.28进展缓慢但是感觉还是学到了一些东西,至少好像我逐渐了解python编程(希望最近的各种事情,与人交往不要过多暴露短处和需求感,不然任谁都会疲惫,只有强大的人偶尔暴露的短处和需求感才能拉近关系好像很多事情不能操之过急,不然就是满盘皆输鸡飞蛋打的局面,但是如果等待的时间已经让人痛苦,及时取舍才是最好的终于是top100的链表简单题里面最后一道了,感觉要了老命了...看了好几道递归了,最终还是看不懂递归...我好菜啊...跟家教老师讨论了一下我的刷题思路,被告知“数和链表 先跳
2022-04-01 23:02:43
936
原创 Leetcode刷题Day9
3.26跟妈妈进行了一波教育反思,拉钩了要好好互相对待的事,突然觉得啊虽然我妈老是打击式教育,但是也真的把我放在平等关系上了的。206. 反转链表
2022-03-27 23:52:30
419
原创 Leetcode刷题 Day7~Day8
3.20昨天晚上(or今天凌晨?)讨论的需要去看一下链表和迭代相关的内容。跟妈妈讨论了一下实习大概就想离开家换一个环境了,妈妈说在成都不是挺好的吗,我也知道挺好,可是我不能放任自己一直在父母的庇护下自废武功啊,这样我永远也成长不起来。3.22果然烂桃花就是会影响人进步啊.....劝不喜欢的人别来找我没想到劲也要缓好多天.....多少有点无语了3.23好像也怪不了别人,主要还是懒3.24终于开始了,今天跟同学交流了一下暑假找实习的事情,感觉互联网寒冬还是有点suffering的
2022-03-25 23:23:39
682
原创 Leetcode刷题 Day6
3.19果然不能摆,一摆好几天过去了,久到妈妈写了几个小时论文了,而本废物一个字还没动剑指 Offer 06. 从尾到头打印链表学习了一下各路技巧,发现官方题解才是最简单最好理解的,用了栈:class Solution: def reversePrint(self, head: ListNode) -> List[int]: stack = [] while head: stack.append(head
2022-03-20 00:43:25
2423
原创 Leetcode刷题 Day4~Day5
3.15沉迷于逛街和吃寿喜烧无法自拔,摆了一天大烂我果然和我闺蜜用紫薇星算命?算的一样“命宫紫微贪狼,有主见又懒”,不过她说我“身宫在官禄宫,事业搞好了才能开心”,所以允许自己摆一天,下次不许摆了3.1620. 有效的括号class Solution: def isValid(self, s: str) -> bool: stack = [] dictionary = {'(': ')', '{': '}', '[': ']'}
2022-03-17 00:00:49
729
原创 Leetcode刷题 day1~day3
3.12剑指 Offer 03. 数组中重复的数字发现自己真的多少有点废物点心了,连这么简单的题都不会做,甚至语法都不是很清楚。class Solution: def findRepeatNumber(self, nums: List[int]) -> int: arr = [0 for x in range(len(nums))] for n in nums: arr[n] += 1 if arr[
2022-03-15 23:29:11
5113
原创 Leetcode刷题大纲
刷了两三天题了,感觉确实是很久没有写过代码了,有些许生疏。写这个文章就当是鼓励自己走下去+错题本+自我学习归纳总结吧~刷题思路:第一阶段:《剑指offer》作为提纲,在leetcode上面刷,每做完一小节内容,在《热题100》上选择简单的题目完成。23+75道,给自己定一下预计每天10道?花十天完成+每日复习?(尽量第二阶段:《热题100》剩下完成,大概对每种题稍微有点数,准备开始简历投递,预计3.31日结束这个过程。第三阶段:边简历投递边继续top200吧,因为最终还是剑指
2022-03-15 14:10:42
4235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人