- 博客(8)
- 收藏
- 关注
原创 代码随想录算法Day5 | 哈希表基础 | 242.有效的字母异位词 | 349.两个数组的交集 | 202.快乐数 | 1.两数之和
1.哈希表用直接定位的方式,将查找元素的O(n)变为O(1),本质是用hash函数将key映射到相应位置2.常用操作(1)HashMap:键值对存储容器数组就是受限的HashMap,但是注意数组是不能动态扩容的所以没有add()函数(2)HashSet:无序不重复的元素集合,只存储唯一的元素。如果add已经存在的元素是不会再添加的。注意HashSet中不保证元素顺序,和插入顺序是无关的。不能通过索引或者key得到单个元素,只能通过int x:set遍历判断某个元素是否出现过——>HashSet。
2026-01-22 14:02:03
540
原创 代码随想录算法Day4 | 24.两两交换链表中的节点 | 19.删除链表的倒数第N个节点 | 160.相交链表 | 142.环形链表II
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。[2,1,4,3]head = [][]head = [1][1]思路:不要先移动指针再判断它是否还能被安全使用,在while循环中就去判断接下来移动的位置是否是安全的。
2026-01-18 23:39:09
691
原创 代码随想录算法Day3| 链表基础 | 203.移除链表元素 | 707.设计链表 | 206.反转链表
思路:将链表分为三部分,已经反转好的部分head,当前正在处理的结点p,还未处理的剩余链表cur。在每一轮循环中,将当前结点指向反转好的链表的头结点,也就是把当前结点也放入反转好的部分作为新的头结点,然后更新p,head和cur(整体向后推进)。思路:首先对于链表中元素的删除一定是用前驱结点来完成的,所以定义虚拟头结点dummy使它的next指向head(dummy的作用就是用来遍历),又因为这道题目要求我们返回去除元素后新的头结点,所以再设置一个指针也令他next指向head。以指示链表中的上一个节点。
2026-01-14 16:39:00
592
原创 代码随想录算法Day2 | 209.长度最小的子数组 | 59.螺旋矩阵II
思路:本题用双层循环来暴力枚举,外层循环i用于枚举子数组的起始位置,内层循环j从i的位置开始不断向右扩展赵子数组的终止位置。思路:在for循环中,我们移动j指针作为终止位置,如果sum<target就移动j指针,若sum>=target就移动起始指针i,即终止指针往右扩,起始指针往右缩(因为都是正整数,起始指针向右了子数组和减小)因为在暴力解中,我们发现每一次改变i时都从sum=0开始,当i从0到1时,子数组[1,j]就是由[0,j]减去nums[0],由此想到若固定了右端点j,可以通过移动i来缩小范围。
2026-01-07 18:45:50
551
原创 深度学习-复试自用
0-d(标量):一个类别,如1.01-d(向量):一个特征向量如[1.0,2.7,3.4]2-d(矩阵):一个样本——特征矩阵3-d(RGB图片):宽x高x通道4-d(一个RGB图片批量):批量大小x宽x高x通道。
2026-01-07 16:24:41
243
原创 代码随想录算法Day1|704. 二分查找|27.移除元素|977.有序数组的平方
给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果target存在返回下标,否则返回-1。你必须编写一个具有O(log n)时间复杂度的算法。numstarget= 949 出现在nums中并且下标为 4numstarget= 2-12 不存在nums中因此返回 -1。
2026-01-05 22:44:33
595
原创 计算机组成原理复习1(自用)
计算机系统=硬件+软件软件由各种特殊功能的程序组成,分为系统软件和应用软件,前者用来管理整个计算机系统(如操作系统,DBMS),后者是按任务需要编制出的各个程序。
2024-04-15 15:30:59
1468
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅