/ARL

Algorithm Routine Learning...

MIT LicenseMIT

Index:

记录整理平时所学的一些算法问题。

2018

001: 百钱百鸡问题

002: 借书方案知多少

003: 打鱼还是晒网

004: 抓交通肇事犯

005: 兔子产子问题

006: 最佳存款方案

007: 设计一个有 getMin 功能的栈

2019

008: 由两个栈组成的队列

009: 如何仅用递归函数和栈操作逆序一个栈

010: 猫狗队列

011: 用一个栈实现另一个栈的排序

012: 用栈来求解汉诺塔问题

013: 生成窗口最大值数组

014: 构造数组的 MaxTree

015: 求最大子矩阵的大小

016: 最大值减去最小值小于或等于 num 的子数组数量

017: 打印两个有序链表的公共部分

018: 在单链表和双链表中删除倒数第 K 个节点

019: 删除链表的中间节点和 a/b 处的节点

020: 反转单向和双向链表

021: 反转部分单向链表

022: 环形单链表的约瑟夫问题

023: 判断一个链表是否为回文结构

024: 将单向链表按某值划分成左边小、中间相等、右边大的形式

025: 复制含有随机指针节点的链表

026: 两个单链表生成相加链表

027: 两个单链表相交的一系列问题

028: 将单链表的每 K 个节点之间逆序

029: 删除无序单链表中值重复出现的节点

030: 在单链表中删除指定值的节点

031: 将搜索二叉树转换成双向链表

032: 单链表的选择排序

033: 一种怪异的节点删除方式

034: 向有序的环形单链表中插入新节点

035: 合并两个有序的单链表

036: 按照左右半区的方式重新组合单链表

037: 分别用递归和非递归方式实现二叉树先序、中序和后序遍历

038: 打印二叉树的边界节点