随机链表的复制 随机链表的复制(深拷贝) 1、题目 图1 2、题解 哈希表 建立一个哈希表,key值为原链表结点,value为新链表结点,根据原链表构建新链表的引用指向,最后返回新链表的头节点。 12345678910111213141516171819202122232425"""# Definition for a Node.class Node: 2024-03-28 Hot100 #实习
两两交换链表中的结点 两两交换链表中的节点 1、题目 图1 2、题解 迭代 设置一个头节点,和三个指针\(tmp,n1,n2\),根据题目要求要将\(tmp \rightarrow n1 \rightarrow n2\)转变成\(tmp \rightarrow n2 \rightarrow n1\),当tmp后面没有节点或只有一个节点,则结束交换 1234567891011121314151 2024-03-28 Hot100 #实习
删除链表倒数第N个结点 删除链表的倒数第N个结点 1、题目 图1 2、题解 辅助空间法 将链表的值存入数组中,跳过对应节点的值,将剩余值存入新的链表,最终返回新链表 12345678910111213141516171819202122# Definition for singly-linked list.# class ListNode:# def __init__(self, val= 2024-03-28 Hot100 #实习
最小覆盖子串 最小覆盖子串 1、题目 图1 2、题解 滑动窗口 用\(i、j\)表示滑动窗口的左右边界,通过改变\(i,j\)去增大或收缩滑动窗口,当窗口包含的元素满足调节,记录下此时滑动窗口的长度,这些长度中的最小值就是要求的结果 增加\(j\)使得窗口增大,直到窗口包含了t的所有元素。 增加\(i\)使得窗口缩小,将不必要的元素排除在外,直到碰到一个必须包含的元素,记录此时滑动 2024-03-19 Hot100 #实习
搜索二维矩阵 搜索二维矩阵 1、题目 图1 2、题解 贪心 利用矩阵从左到右、从上到下依次递增的特性,可以发现矩阵的结构类似于二叉搜索树。根节点对应矩阵左下角和右上角的元素,若以矩阵左下角元素为标志数flag: 若\(flag>target\),则\(targe\)t一定在\(flag\)所在行的上方,\(flag\)所在行可被消去 若\(flag<target\),则 2024-03-17 Hot100 #实习
旋转图象 旋转图象 1、题目 图1 2、题解 辅助存储 根据旋转示意不难看出: 原矩阵第i行元素旋转到第n-1-i列 原矩阵第j列元素旋转到第j行 该方法存在问题:写入一个元素后,原矩阵的元素会被覆盖,导致被覆盖的元素无法写入到旋转后的位置,所以需要一个辅助矩阵进行元素存储。 123456789101112class Solution: def rotate(se 2024-03-17 Hot100 #实习
螺旋矩阵 螺旋矩阵 1、题目 图1 2、题解 设定边界 当矩阵为空时,直接返回列表 初始化矩阵左、右、上、下四个边界 从左向右、从上向下、从右向左、从下向上四个方向循环打印。 根据边界打印,将元素按顺序添加到列表中; 边界向内收缩1; 判断边界是否相遇,若打印完毕则跳出 返回列表 12345678910111213141516171819cla 2024-03-15 Hot100 #实习
矩阵置零 矩阵置零 1、题目 图一 2、题解 两次扫matrix 第一遍记录数组中0的坐标,第二遍置零 1234567891011121314151617181920class Solution: def setZeroes(self, matrix: List[List[int]]) -> None: """ D 2024-03-13 Hot100 #实习
自身以外数组乘积 除自身以外数组的乘积 1、题目 图1 2、题解 上三角+下三角 初始化数组\(ans\),令\(ans[0]=1\),辅助变量\(tmp=1\) 计算\(ans[i]\)的下三角各元素的乘积,直接加入\(ans[i]\) 计算\(ans[i]\)的上三角各元素的乘积等于\(tmp\),乘入\(ans[i]\) \(ans\)即为所得 12345678910cl 2024-03-10 Hot100 #实习
轮转数组 轮转数组 1、题目 图1 2、题解 辅助空间法 \(k=k\%n\),将k限定在[0,n-1]范围内。 用\(i\)表示轮转前位置,\(i^`\)表示轮转后位置: \[ i'=(i+k)\%n=\begin{cases}i+k,\quad&i+k\leq n-1,\text{即}i\in[0,n-k-1]\\i+k-n,\quad&i 2024-03-08 Hot100 #实习