- 博客(11)
- 收藏
- 关注
原创 Day9:字符串p2-复习双指针
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0?如果三数相加=0,那就把此时的 nums[i], nums[left], nums[right] 存放到result数组里。排序之后,我们用一个for循环,遍历i的位置,得到a(i从第一位开始),然后i的第二位开始为left,末位为right。但是这里用哈希法有些难,因为我们需要给a和b去重,去重的可能性非常多,所以很复杂,因此不建议用哈希法来做。
2024-03-15 05:03:38 940 1
原创 day6: 哈希表 - 判断元素是否在集合里
当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。如果在做面试题目的时候遇到 需要判断一个元素是否出现过的场景 也应该第一时间想到哈希法!242.有效的字母异位词。
2024-03-12 06:23:34 968 1
原创 day4:链表p2 - 虚拟头结点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)我们要提前保存节点1和3(也就是当cur->next指向变换时,这两个节点会无法被定义,所以要提前保存为temp)奇数节点,最后一位不交换。偶数节点,就刚好两两交换。上一篇有介绍关于链表中使用虚拟节点的好处。所以这道题,还按照虚拟节点的方法来实现。cur要指向要操作的两个节点的前一位。接下来就是交换相邻两个元素了,
2024-03-09 23:21:16 357 1
原创 day3-链表
/ 单链表int val;// 节点上存储的元素// 指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {} // 节点的构造函数。
2024-03-09 05:37:35 935 1
原创 day1:二分法
给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。你可以假设nums中的所有元素是不重复的。n将在[1, 10000]之间。nums的每个元素都将在之间。
2024-03-07 03:31:55 1378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人