- 博客(10)
- 收藏
- 关注
原创 10.26 代码随想录第十一天打卡
本题其实就是一个消消乐的思路,一遇到运算符号就立即把栈最后面的两个数pop掉,然后push进经过运算的数。不算困难。
2024-11-04 17:10:45
125
原创 10.24 代码随想录第九天打卡
心血来潮搞个c++的代码,但是time有问题,不知道为啥。但是逻辑应该没有问题,放在这个借鉴一下。用双指针法。这里添加一个need布尔变量,初始为false,快指针指向字符的时候将need置为true,说明快指针下一次指向空格的时候需要添加一个空格来分割,s【slow++】 = ' '再重现将need置为false,此时最后有没有空格取决于原来字符串最后一个单词后面有没有空格 ,判断一下再resize一下就好了。python版本就是先将字符变成list,然后用双指针反转,最后再join就行了。
2024-10-24 18:58:18
167
原创 10.22 代码随想录第六天打卡
本题不难,和之前的异位字母一个逻辑,用一个for循环遍历一遍,然后用哈希表储存下来,然后在用一个for循环遍历剩下的一半,然后再和之前储存的哈希表做比较。
2024-10-22 17:50:28
346
原创 10.21 代码随想录第五天打卡
本题作为哈希表的第一个题,考查了数组在哈希表里面的应用,之前没有接触过,代码很精炼,但思想很巧妙。通过record里面一加一减,最后直接和0比较,如果不等于0,说明那个位置的字母出现的频率不一样。上一题考查了如何使用数组作为哈希表,本题则考查了怎么使用set作为哈希表。首先先将nums1里面的元素储存在哈希表里,然后用nums2里面的元素遍历哈希表,找到nums1和nums2的交集。
2024-10-21 22:34:15
154
原创 10.19 代码随想录第四天打卡 补上
为了统一,以后关于链表的题目都默认添加虚拟头节点。还有一点要注意的就是每次更新cur = cur.next.next,这里不需要知道cur.next.next的值是什么,只需要注意到更新后每轮的起始点为cur.next.next。本题需要使用快慢指针法,同时需要画图找到快慢指针数学表达式的关系,过程倒是不难理解,类似于高中物理的前后追赶的问题,直接看卡尔老师的过程即可,不过具体思想倒是挺有意思,需要背下来。总的来说,链表这一节有不少有意思的思想,这周要重新再回顾一下,还是那句话,量变形成质变,冲了!
2024-10-21 16:46:32
510
原创 10.18 代码随想录第三天打卡
本题主要考察虚拟头节点。注意如果不添加虚拟头节点,则需要对head进行分类讨论。本道题考查了链表的各种调用,很繁琐,但是能磨出来。晚点研究一下换链表怎么搞。这道题使用双指针法,比较简单,重点是要明白双指针的思想。力扣203 移除链表元素。
2024-10-18 20:30:06
230
原创 10.17 代码随想录第二天打卡
本题一开始用暴力法遍历每一个数组,但是结果超时,看了教程,可以使用指针法,定义两个指针,分别作为子数组的起始区间和终止区间,在for循环里面遍历终止区间,然后比较巧妙的是在while里面更新起始区间,每个元素最多提取2次,最终的时间复杂度为O(n)。本题不涉及算法,考察的是代码的实现,难点在于区间的固定。没有什么思路,看完教程也只能勉强实现代码。没有办法,明天早上再重做一遍。
2024-10-17 21:07:26
393
原创 10.16 代码随想录第一天打卡
今天学习数组中二分法以及双指针的运用其中二分法的难点在于在判断循环条件的时候什么时候left<=rigth,什么时候left<right,以及判断边界的时候middle是否 +1 or -1,核心思路在于找准区间的定义,是左闭右闭,还是左闭右开,在while寻找中每一次边界的处理都要坚持根据区间的定义来操作。第一种消除方法是暴力法:本题重点在于理解双指针法,通过快慢指针在一个for下完成两个for下的任务,精髓在于定义。
2024-10-16 22:26:45
187
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人