- 博客(14)
- 收藏
- 关注
原创 【代码随想录】day5|242.有效的字母异位词、349. 两个数组的交集
当我们要使用集合来解决哈希问题的时候,优先使用unordered_set,因为它的查询和增删效率是最优的,如果需要集合是有序的,那么就用set,如果要求不仅有序还要有重复数据的话,那么就用multiset。那么再来看一下map ,在map 是一个key value 的数据结构,map中,对key是有限制,对value没有限制的,因为key的存储方式使用红黑树实现的。当我们对某个元素进行哈希运算,得到一个存储地址,然后要进行插入的时候,发现已经被其他元素占用了,map中的key和value用来存什么的。
2024-03-11 20:04:27
799
1
原创 【代码随想录】day3-day4| 力扣 707.设计链表、203.移除链表元素、206.反转链表、24.两两交换链表中的结点、19.删除链表的倒数第N个节点、面试题 02.07、142
1、虚拟头节点非常好用!!所有涉及到头节点都会因为链表对象的存在与否有一定操作难度,如果设置虚拟头节点,可以将其视为普通结点一起处理2、链表类内的结点结构体,非常好用。3、c++需要注意主动删除结点(申请了内存)4、循环列表可以解决的问题。
2024-03-09 17:49:17
459
1
原创 【代码随想录】day2| 力扣 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
1、总是忘记的,vector初始化设置大小用"()“,不是用”[]"!这里不需要对size的强制类型转换,2、用于记录类型最大/最小值的宏常量,存在于中532768327670xffff2147483647121474836470xffffffff11。
2024-03-07 10:18:17
679
1
原创 【代码随想录】day1| leetcode704. 二分查找、leetcode27. 移除元素
相向双指针方法,基于改元素顺序可以变的题目描述改变了元素相对位置,确保了移动最少元素。原因:如果不指定一维数组的大小,编译器无法计算下一维的起始地址。通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。3、运算符优先级低于±*/,注意带括号。slow负责填充,fast负责检验是否为val。1、声明二维数组时,要注意不可缺省。时间复杂度:O(n)空间复杂度:O(1)
2024-03-06 11:08:10
833
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人