CPP学习
bindloy
这个作者很懒,什么都没留下…
展开
-
代码随想录算法训练营第5天 |242.有效的字母异位词,349. 两个数组的交集,202. 快乐数,1. 两数之和
因为它的查询和增删效率是最优的,如果需要集合是有序的,那么就用。针对26个字母(有限),更好的方法使用int [26]以上是set和map的几种实现,还需要学习红黑树等。,如果要求不仅有序还要有重复数据的话,那么就用。unordered_set(无序,不能重复)要使用集合来解决哈希问题的时候,优先使用。multiset(有序,可以重复)set(有序,不能重复)349. 两个数组的交集。原创 2024-06-12 11:13:12 · 413 阅读 · 0 评论 -
代码随想录算法训练营第一天 | 数组理论基础,704. 二分查找,27. 移除元素
对于双指针和快慢指针一定要敏感,特别是在对内存有要求的时候。遇到有序数组、查找这两个关键词要注意能否使用二分法。原创 2024-06-04 21:26:56 · 113 阅读 · 0 评论 -
代码随想录算法训练营第一天 | 数组理论基础, 977.有序数组的平方, 209.长度最小的子数组, 59.螺旋矩阵II
今日巩固学习:双指针的灵活应用,滑动窗口,边界条件。原创 2024-06-06 00:17:33 · 216 阅读 · 0 评论 -
代码随想录算法训练营第3天 | 203. 移除链表元素,707设计链表,206.翻转链表
从定义就能看出链表的核心和难点是next(或者prev)的使用,对链表的操作都是基于next来进行的,为了更好地操作链表我们最好有画图的习惯。在对链表操作时要注意从何处来,要有标记头,常常创建虚拟头节点,不能学习路易十六——丢了头,要明白之前的,现在的和过去的,另外一定要对。要注意的是边界条件,头节点和尾节点。设计类是目前的弱项,要着重训练。原创 2024-06-07 16:22:11 · 216 阅读 · 0 评论 -
代码随想录算法训练营第4天 | 24. 两两交换链表中的节点 , 19.删除链表的倒数第N个节点 ,面试题 02.07. 链表相交 ,142.环形链表II
这一题很容易想到虚拟节点,毕竟头节点会参与计算,需要注意的是节点数奇偶会不一样,要注意不能对nullptr做next和val的操作。让我想起跑步被人套圈的经历,快慢指针,对于环形的理解,涉及物理,学会画图会好理解很多。要点:熟练画图,虚拟头节点(这两个几乎每次都有), 模拟,双指针(快慢指针)今天的温习主要是针对链表的特定题型,继续复习巩固链表的特点和有趣之处。我使用的是双指针,有交点则交换遍历就会相遇,关键在于什么时候停止,聪明,充分利用了相交链表的后段会一模一样的性质。24. 两两交换链表中的节点。原创 2024-06-08 16:59:24 · 171 阅读 · 0 评论