![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法攻略记录
zeroTimeZone
learning......
展开
-
动态规划_不同路径||
【代码】动态规划_不同路径||原创 2023-12-11 19:56:15 · 498 阅读 · 0 评论 -
数组_螺旋矩阵
【代码】数组_螺旋矩阵。原创 2023-12-11 10:23:02 · 357 阅读 · 0 评论 -
动态规划_最小花费爬楼
【代码】动态规划_最小花费爬楼。原创 2023-12-10 22:02:35 · 559 阅读 · 0 评论 -
树_有序数组转二叉搜索树
【代码】树_有序数组转二叉搜索树。原创 2023-12-06 09:15:45 · 324 阅读 · 0 评论 -
树_有序数组转二叉搜索树
【代码】树_有序数组转二叉搜索树。原创 2023-12-06 09:14:16 · 281 阅读 · 0 评论 -
树_二叉搜索树的众树
【代码】树_二叉搜索树的众树。原创 2023-12-06 09:13:06 · 549 阅读 · 0 评论 -
树_二叉搜索树小绝对差
【代码】树_二叉搜索树小绝对差。原创 2023-12-06 09:11:53 · 354 阅读 · 0 评论 -
树_二叉搜索树累加求和
【代码】树_二叉搜索树累加求和。原创 2023-12-05 20:15:48 · 354 阅读 · 0 评论 -
树_二叉搜索树寻找目标值
【代码】树_二叉搜索树寻找目标值。原创 2023-12-05 19:33:15 · 349 阅读 · 0 评论 -
树_路径总和
【代码】树_路径总和。原创 2023-12-04 10:27:43 · 345 阅读 · 0 评论 -
树_左叶子之和
【代码】树_左叶子之和。原创 2023-12-04 10:26:26 · 384 阅读 · 0 评论 -
树_二叉树所有路劲
【代码】树_二叉树所有路劲。原创 2023-12-04 10:24:13 · 777 阅读 · 0 评论 -
树_完全二叉树节点个数
【代码】树_完全二叉树节点个数。原创 2023-12-04 10:22:00 · 328 阅读 · 0 评论 -
树_完全二叉树的节点个数
【代码】树_完全二叉树的节点个数。原创 2023-12-04 08:44:26 · 332 阅读 · 0 评论 -
树_二叉树最小深度
【代码】树_二叉树最小深度。原创 2023-12-04 08:43:09 · 362 阅读 · 0 评论 -
树_二叉树最大深度
【代码】树_二叉树最大深度。原创 2023-12-04 08:41:35 · 858 阅读 · 0 评论 -
树_对称二叉树
【代码】树_对称二叉树。原创 2023-12-03 09:48:39 · 355 阅读 · 0 评论 -
二叉树_翻转二叉树
【代码】二叉树_翻转二叉树。原创 2023-12-03 09:47:22 · 343 阅读 · 0 评论 -
堆栈_删除字符串所有相邻重复项
【代码】堆栈_删除字符串所有相邻重复项。原创 2023-11-30 15:09:15 · 362 阅读 · 0 评论 -
堆栈_有效括号
题比较特殊,主要在于它的所有要输入,都是左括号开头,没有右括号开头的,比如"] [",这种是不算为括号的,由于必然是对称的,若能符合,因而直接在遇到右括号时,检查其左括号,栈顶为左括号,则弹出;若不符合,则必然栈会有残留,导致不符合条件,如此一来,则可判断出当前的字符串是否符合要求。原创 2023-11-30 15:06:01 · 411 阅读 · 0 评论 -
堆栈_队列实现栈
【代码】堆栈_队列实现栈。原创 2023-11-30 14:57:27 · 358 阅读 · 0 评论 -
堆栈_栈实现队列
【代码】堆栈_栈实现队列。原创 2023-11-30 14:54:53 · 342 阅读 · 0 评论 -
链表_相交链表
【代码】链表_相交链表。原创 2023-11-30 14:49:56 · 394 阅读 · 0 评论 -
哈希_快乐数
【代码】哈希_快乐数。原创 2023-11-29 13:27:39 · 313 阅读 · 0 评论 -
链表_删除链表节点
【代码】链表_删除链表节点。原创 2023-11-28 17:56:06 · 347 阅读 · 0 评论 -
双指针_四数之和
相当于三数之和时,再套了一层for循环。原创 2023-11-26 15:10:49 · 323 阅读 · 0 评论 -
动态规划_爬楼梯
dp[i]为达到第i阶楼梯有多少种方法;递推公式,dp[i] = dp[i - 1] + dp[i - 2],为什么这样?初始化,由于题目规定n从1开始,那么这里就需要初始化dp[1] = 1,dp[2] = 2;确定遍历顺序,n从小到大。原创 2023-11-25 20:24:13 · 331 阅读 · 0 评论 -
动态规划_斐波那契
【代码】动态规划_斐波那契。原创 2023-11-24 20:46:05 · 377 阅读 · 0 评论 -
哈希_赎金信
总体思路采用数组方式来处理hash映射,因为本题只涉及26种映射情况,即26个小写字母,需记录对应的字符所需数量;将要组成者的每个字符放入数据,记录每个字符所需数量;之后提供者每发现这样的一个字符,则所需数量减一;最后遍历记录者载体,即数组,若发现数组内仍有大于1的,则说明提供者给出的字符不够,则返回false。原创 2023-11-24 20:14:10 · 318 阅读 · 0 评论 -
哈希_两数之和
只要需找到之前的值,则很适合hash,具体用那种hash思路,则看情况;由于本题要存放遍历过的内容,即元素(k)和下标(v),因而适合map去处理。原创 2023-11-23 20:37:32 · 365 阅读 · 0 评论 -
哈希_有效字母异位词
前一个字符串频次结果记录完毕,再遍历后一个字符串去比,若发现相同的字符,则对应的频次减一,若发现频次有-1,则说明同样字符有多,则不匹配;若发现后一字符串某个字符没有,则说明前者无该字符,则不匹配; 将较短的字符串,去记录其每个字符出现频率;较长的字符串,后续去比较;防止后一个字符串过短,还没比较完前者的频次结果,程序就结束了;因而若发现后一字符串较短,则直接交换二者的对象。 本题由于元素数较少,则可采用数组方式记录每个元素的值(自己为了方便,则直接map,耗时增加,但也能解出)原创 2023-11-21 20:26:28 · 16 阅读 · 0 评论 -
字符串_翻转字符||
此题就是翻转字符串加了条件判断,其它和普通翻转字符串无区别;指得注意的是,遍历时,可选择每次递增2k个,比起每次i++,要更加简便。原创 2023-11-17 21:55:54 · 20 阅读 · 0 评论 -
翻转字符串
注意题目翻转后的效果,恰好可以将对称的字符,互相交换位置来实现;因而采用双指针法,左、右指针分别向中遍历,不断交换位置上互相对称的俩元素的字符。原创 2023-11-17 21:52:24 · 18 阅读 · 0 评论 -
二分法(本次为数组的二分查找)
因为得出mid后,右是闭,即下次访问时,它会访问到右值,若继续传入上次的mid,则下次又访问了一次mid,导致了多余的访问,因而下一次,右值要传入“上次mid - 1”; 而对于while内是否需要等号,也是由右边是否闭合来决定,若右为闭,则表示left是可以和right相等的,例如[1, 1],值是合法的,即1; 得注意它的特点,即如何采取正确的二分思路,即边界问题,while循环直至被打破,左闭右闭,左闭右开,左开右闭等;以左闭右闭、左 闭右开为例,导致二者细节上的区别就在于,右是否闭。原创 2023-11-16 20:46:32 · 16 阅读 · 0 评论