- 博客(5)
- 收藏
- 关注
原创 代码随想录算法训练营第六天|242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
i++)//遍历数组2里所有元素所对应的哈希表,值为1则将该nums2元素放入新数组。i++)//将数组1所对应的哈希表全部变为1。//防止nums2里面有相同数字。数组主要用于范围小、数量可控的查找范围时。//记录相同元素的个数。}//每个数字只会加一次。1、哈希表三种:数组、set、map。
2023-07-18 00:30:28
2647
1
原创 代码随想录算法训练营第三天|203.移除链表元素 、707.设计链表 、206.反转链表
/ 将cur->next设置为cur->next->next并删除cur->next。// 将新的头结点设置为head->next并删除原来的头结点。// 若cur->next不等于val,则将cur后移一位。//用head代替cur,也可以再定义一个cur结点指向head。//将temp作为cur传入下一层,改变其指针指向当前cur。// 若cur->next的值等于val。// 当cur存在并且cur->next存在时。//pre指针指向前一个当前结点的前一个结点。//保存cur的下一个结点。
2023-07-14 22:51:30
3061
原创 代码随想录算法训练营第二天|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结
所以可以运用双指针,在数组两端分别设置一个指针,将它们指向的元素进行比较,将其中的较大者从右往左依次放置在result数组中,就完成了结果数组的非递减排序。//右指针指向元素的平方。//左指针指向元素的平方。注意if和while的区别:e.g. [1,1,1,1,1,100],target=100,若是if就只判断一次。之前的双指针取得是数组中的一个元素或下标,本题则是利用。双指针+累加实现对双指针区间内的元素进行操作。题目链接:209.长度最小的子数组。1、滑动窗口的本质:双指针。
2023-07-13 23:50:33
3155
1
原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素
快指针一个一个往后遍历,如果与要删除的元素不相等,就把指向的值赋给慢指针指向的 值,同时将慢指针向后移一位。若为middle-1的话则无法判断middle-1是否为target。1、删除数组中的一个元素本质上是进行了“覆盖”,数组所占内存空间的大小定义好后就不会再改变了;慢指针:获取新数组中需要更新的位置。1、二分查找一般有两种定义区间的方法:左闭右闭&左闭右开。a、快指针:获取新数组中的元素。/这个if起到更新新数组元素和下标的作用。总结:二分法的边界处理问题。
2023-07-12 23:10:43
3261
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人