- 博客(11)
- 收藏
- 关注
原创 代码随想录算法训练营 day 11|150. 逆波兰表达式求值 , 239. 滑动窗口最大值 , 347.前 K 个高频元素
学习+解题+记录=2h30min。
2024-09-09 21:29:16
283
原创 代码随想录算法训练营 day 10 | 232.用栈实现队列, 225. 用队列实现栈 ,20. 有效的括号 , 1047. 删除字符串中的所有相邻重复项
一、用栈实现队列二、 用队列实现栈三、 有效的括号四、 删除字符串中的所有相邻重复项。
2024-09-07 15:00:05
226
原创 代码随想录算法训练营 day 9|151.翻转字符串里的单词,卡码网:55.右旋转字符串
最近事情较多,所以后期博客暂时只记录代码,解题思路待定。今日学习+解题+记录=1h30min。
2024-09-06 16:52:32
353
原创 代码随想录算法训练营 day 8 |344.反转字符串,541. 反转字符串II,卡码网:54.替换数字
本题的解法是将字符串最左边和最右边的字母交换顺序,然后由两边向中间靠拢进行交换。本题可以采用for循环和temp来完成。本题首先要确定字符串中共有几个数字,然后根据数字个数扩展数组长度,再将“number”t填入到数组中去。今天的题目中体来说不是很难,不过需要知道一些string和char相关的函数。acm模式还不够熟练,需要多练习。本题难度略有提升,指定了字符串反转的规则,不过仍然可以模仿第一题的解题方法。今日学习+解题+博客=1h30min。
2024-09-04 09:36:20
360
原创 代码随想录算法训练营 day 7 |454.四数相加, 383. 赎金信 , 15. 三数之和,18. 四数之和
本题要求的是A[i] + B[j] + C[k] + D[l] = 0所以可以转换一下思路,即A[i] + B[j] = 0 -(C[k] + D[l] )。(3)遍历C、D组,若map中能够找到0 -(C[k] + D[l] ),则res+=res+=map.getOrDefault(0-K-I,0).(1)用map记录A、B 组的和sum,sum为map的key,sum在A、B 组的和中一共出现的次数为value。(3)遍历 记录字母出现次数的数组res,如果有不为0 的元素,说明不正确。
2024-09-03 11:40:55
409
原创 代码随想录算法训练营 day 6|242.有效的字母异位词 ,349. 两个数组的交集 ●,202. 快乐数, 1. 两数之和
本题求的是数组中是否存在两个数满足条件nums[ i ] + nums[ j ] = target,可以采用双重循环暴力求解,但是这样比较浪费时间。我们可以转换思路,将条件变为nums[ i ]=target - nums[ j ],这样等式两边的数都在数组中,方便后续的比较处理。设置长度为26的数组,然后遍历字符串记录每个字母出现的次数。先存入第一个数组,然后遍历第二个数组并检查第一个数组中是否有相同地值,如果有则记录,直至遍历结束,这样就得到了他们共同拥有的元素,也就是两个数组的并集。
2024-09-02 16:55:26
407
原创 代码随想录算法训练营 day 4 | 24. 两两交换链表中的节点 ,19.删除链表的倒数第N个节点 , 面试题 02.07. 链表相交 , 142.环形链表II
slow指针与fast指针,先设置一个虚拟头结点,然后使两个指针都指向虚拟头结点,其中快指针先走n+1步,然后快慢指针一起走直至快指针为空,此时找到了第n-1各节点,然后可以进行删除操作。本题分为奇偶两种情况,如果链表元素为偶数,那么到最后可以成对交换,也就是说cur.next==null;如果为奇数,则cur.next.next==null,其中cur为偶数链表的最后一个元素,为技术链表中的倒数第二个元素。最后一道对我来说有点困难,虽然磕磕绊绊的写了出来,但是还是不甚理解。今日学习+解题+博客=3h。
2024-09-01 23:28:09
372
原创 代码随想录算法训练营 day 3 |203.移除链表元素 ,707.设计链表 ,206.反转链表
如果index在[0,size)区间,对链表遍历直至index的前一个节点,然后进行插入操作。对于链表节点的next的概念及使用有了更为深刻的认识与理解。B.newNode的下一个结点指向head的下一个节点。如果index合法则遍历链表找到index的前一个结点,然后进行删除操作。有两种方法,第一种是在原链表中进行移除操作,第二种是设置一个虚拟头节点进行操作。给链表添加一个新的节点作为头结点,有利于后续节点移除的统一处理。按顺序执行A~D步骤。
2024-08-30 17:49:14
1904
原创 代码随想录算法训练营 day 2 | 209.长度最小的子数组,59.螺旋矩阵II,区间和,开发商购买土地
在看到这些题目时,我有思路,但是并不清晰,或者有关于边界条件的设置总是不够严谨,在看了carl哥的文章与视频后,思路清晰,能够跟着carl哥完成代码的编写,但是有些地方还是不能够准确无误的写下来,因此还需要多学多练多理解。当sum>=target时,首先记录累加和为sum的子数组长度,然后sum - =num [i],i 向数组下一位移动,即i=i+1。(2)并在该for循环中,从初始位置开始,先对num[j]依次相加,用sum记录累加和,直至sum>=target值。螺旋矩阵最主要的是边界条件的设置。
2024-08-29 22:11:39
725
原创 代码随想录算法训练营 day1|704. 二分查找,27. 移除元素,977.有序数组的平方
B.在判断条件如 if (nums[middle] > target)时,也就是当目标值落在左区间时,右边界发生改变。又因为 nums[middle] > target,所以target一定不为nums[middle],因此right=middle-1。B.在判断条件如 if (nums[middle] > target)时,也就是当目标值落在左区间时,右边界发生改变。但是当nums[middle]
2024-08-28 11:50:57
1551
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅