- 博客(5)
- 收藏
- 关注
原创 代码随想录算法训练营day6 | 哈希表 | 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和
在 JavaScript 中,字符 ‘a’ 并不像其他编程语言中一样直接与整数相减。相反,JavaScript 中的字符是 Unicode 字符,所以需要使用方法来获取字符的 Unicode 编码。直接使用set 不仅占用空间比数组大,而且速度要比数组慢,set把数值映射到key上都要做hash计算的。建议:本题虽然是 力扣第一题,但是还是挺难的,也是 代码随想录中 数组,set之后,使用map解决哈希问题的第一题。文章链接题目链接leetcode。
2023-08-29 00:29:01 180 1
原创 代码随想录算法训练营day4 | 链表 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 160.链表相交 142.环形链表II
时间复杂度:O(n)空间复杂度:O(1)这个真的很容易写错,就是谁先谁后,画画图就清楚多了。q.next=p// 一不小心写了个循环,得注意一下哈哈这道题注意一下:while(fast.next)我在while循环中就直接判断了,如果fast.next为空就不继续进行了,所以说,刚好slow指向的就是待删除结点的前一个结点。这个题理解起来有点绕,在思路里全部都已经进行了展现时间复杂度:O(n + m)空间复杂度:O(1)
2023-08-26 15:31:21 194
原创 代码随想录算法训练营day3 | 链表 | 203.移除链表元素 707.设计链表 206.反转链表
第一次用js写链表,emmm,先去看了别人是怎么写的,然后回来自己敲了一遍,这个题感觉不难,就是要注意对头结点的操作。刚刚复习书的时候,还有一种递归的写法和采用尾插法的写法,感觉可以再写写拓展一下思路(待填)。考察了很多基础的操作,题目不是很难,但是有很多细节的点,比如说,题目中给定的下标是从0开始的,这个就很容易错。以及在将数值插入末尾的时候,首先要判断的就是尾指针是否有效,我是没有判断直接插入就出错了,如果尾指针为null,那么就无法指向下一个结点。
2023-08-25 23:48:48 169 2
原创 代码随想录算法训练营day2 | 数组 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
代码随想录算法训练营第二天——977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。
2023-08-25 00:22:15 187 2
原创 代码随想录算法训练营day1|数组| 704. 二分查找 35. 搜索插入位置 27. 移除元素
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。思路:用一个for循环来遍历数组然后找出是否存在条件。二分查找涉及的很多的边界条件,区间的定义一般为两种,请必须使用时间复杂度为 O(log n) 的算法。时间详情:72ms 内存详情: 42.53MB。top100里面的其他题。思路:题目中的数组为。
2023-08-22 23:16:58 338 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人