JavaShuo
算法笔记练习 题解合集
时间 2020-06-10
标签
算法
笔记
练习
题解
合集
目录
章节
小节
三
3.1 简单模拟
,
3.3 图形输出
,
3.4 日期处理
,
3.5 进制转换
,
3.6 字符串处理
四
4.1 排序
,
4.2 散列
,
4.3 递归
,
4.4 贪心
,
4.5 二分
,
4.6 two pointers
,
4.7 其余高效技巧与算法
五
5.1 简单数学
,
5.2 最大公约数与最小公倍数
,
5.3 分数的四则运算
,
5.4 素数
,
5.5 质因子分解
,
5.6 大整数运算
,
5.7 扩展欧几里得算法
,
5.8 组合数
六
6.1 vector
,
6.2 set
,
6.3 string
,
6.4 map
,
6.5 queue
,
6.6 priority_queue
,
6.7 stack
,
6.8 pair
,
6.9 algorithm
七
7.1 栈的应用
,
7.2 队列的应用
,
7.3 链表处理
八
8.1 深度优先搜索(DFS)
,
8.2 广度优先搜索(BFS)
九
9.1 树与二叉树
,
9.2 二叉树的遍历
,
9.3 树的遍历
,
9.4 二叉查找树(BST)
,
9.5 平衡二叉树(AVL树)
,
9.6 并查集
,
9.7 堆
,
9.8 哈夫曼树
例题
例题
第 3 章 入门篇(1)——入门模拟
3.1 简单模拟
问题 A: 剩下的树
问题 B: A+B
问题 C: 特殊乘法
问题 D: 比较奇偶数个数
问题 E: Shortest Distance (20)
问题 F: A+B和C (15)
问题 G: 数字分类 (20)
问题 H: 部分A+B (15)
问题 I: 锤子剪刀布 (20)
3.3 图形输出
问题 A: 输出梯形
问题 B: Hello World for U
问题 C: 等腰梯形
问题 D: 沙漏图形 tri2str [1*+]
3.4 日期处理
问题 A: 日期差值
问题 B: Day of Week
问题 C: 打印日期
问题 D: 日期类
问题 E: 日期累加
3.5 进制转换
问题 A: 又一版 A+B
问题 B: 数制转换
问题 C: 进制转换
问题 D: 八进制
3.6 字符串处理
问题 A: 字符串链接
问题 B: 首字母大写
问题 C: 字符串的查找删除
问题 D: 单词替换
问题 E: 字符串去特定字符
问题 F: 数组逆置
问题 G: 比较字符串
问题 H: 编排字符串
问题 I: 【字符串】回文串
第 4 章 入门篇(2)——算法初步
4.1 排序
问题 A: 排序
问题 B: 特殊排序
问题 C: EXCEL排序
问题 D: 字符串内排序
问题 E: Problem B
问题 F: 小白鼠排队
问题 G: 中位数
问题 H: 整数奇偶排序
问题 I: 排名
4.2 散列
问题 A: 谁是你的潜在朋友
问题 B: 分组统计
问题 C: 【PAT A1041】Be Unique
问题 D: 【PAT A1050】String Subtraction
4.3 递归
问题 A: 吃糖果
问题 B: 数列
问题 C: 神奇的口袋
问题 D: 八皇后
4.4 贪心
问题 A: 看电视
问题 B: 出租车费
问题 C: To Fill or Not to Fill
问题 D: Repair the Wall
问题 E: FatMouse’s Trade
问题 F: 迷瘴
问题 G: 找零钱
4.5 二分
问题 A: 找x
问题 B: 打印极值点下标
问题 C: 查找
4.6 two pointers
问题 A: 二路归并排序(mergesort)递归法 [2*+]
问题 B: 基础排序III:归并排序
问题 C: 快速排序 qsort [2*]
4.7 其余高效技巧与算法
问题 A: 求第k大数
第 5 章 入门篇(3)——数学问题
5.1 简单数学
问题 A: 守形数
问题 B: 反序数
问题 C: 百鸡问题
问题 D: abc
问题 E: 众数
问题 F: 计算两个矩阵的乘积
问题 G: 加法等式
问题 H: 整数和
问题 I: 反序相等
问题 J: 多项式的值
问题 K: 迭代求立方根
问题 L: 与7无关的数
问题 M: 鸡兔同笼
5.2 最大公约数与最小公倍数
问题 A: Least Common Multiple
5.3 分数的四则运算
问题 A: 分数矩阵
5.4 素数
问题 A: 素数
问题 B: Prime Number
问题 C: Goldbach’s Conjecture
5.5 质因子分解
问题 A: 完数
问题 B: 完数
问题 C: 质因数的个数
问题 D: 约数的个数
问题 E: 完数与盈数
5.6 大整数运算
问题 A: a+b
问题 B: N的阶乘
问题 C: 浮点数加法
问题 D: 进制转换
问题 E: 大整数排序
问题 F: 10进制 VS 2进制
5.7 扩展欧几里得算法
问题 A: 同余方程-NOIP2012TGD2T1
5.8 组合数
问题 A: 计算组合数
问题 B: 求组合数
第 6 章 C++标准模版库(STL)介绍
6.1 vector 的常见用法详解
问题 A: 【PAT A1039】Course List for Student
问题 B: 【PAT A1047】Student List for Course
6.2 set 的常见用法详解
问题 A: 【PAT A1063】Set Similarity
6.3 string 的常见用法详解
问题 A: 字符串处理
6.4 map 的常见用法详解
问题 A: 【PAT A1071】Speech Patterns
6.5 queue 的常见用法详解
问题 A: C语言-数字交换
6.6 prioriry_queue 的常见用法详解
问题 A: 任务调度
6.7 stack 的常见用法详解
问题 A: 简单计算器
问题 B: Problem E
6.8 pair 的常见用法详解
问题 A: 重心在哪里
6.9 algorithm 头文件下的经常使用函数
问题 A: 求最大最小数
问题 B: 全排列
问题 C: 数组逆置
第 7 章 提升篇(1)——数据结构专题(1)
7.1 栈的应用
问题 A: 简单计算器
问题 B: Problem E
7.2 队列的应用
问题 A: C语言-数字交换
7.3 链表处理
问题 A: 算法2-8~2-11:链表的基本操做
问题 B: C语言-链表排序
问题 C: 最快合并链表(线性表)
问题 D: 链表查找(线性表)
问题 E: 算法2-24 单链表反转
问题 F: 算法2-25 有序单链表删除重复元素
第 8 章 提升篇(2)——搜索专题
8.1 深度优先搜索(DFS)
问题 A: 【递纳入门】全排列
问题 B: 【递纳入门】组合的输出
问题 C: 【递纳入门】组合+判断素数
问题 D: 【递纳入门】n皇后 问题(原始的8皇后问题)
问题 E: 【递纳入门】出栈序列统计
问题 F: 【递纳入门】走迷宫
8.2 广度优先搜索(BFS)
问题 A: Jugs
问题 B: DFS or BFS?
问题 C: 【宽搜入门】8数码难题
问题 D: 【宽搜入门】魔板
问题 E: 【宽搜入门】巧妙取量
第 9 章 提升篇(3)——数据结构专题(2)
9.1 树与二叉树
本节无练习
php
9.2 二叉树的遍历
问题 A: 复原二叉树
问题 B: 二叉树
问题 C: 二叉树遍历(和问题 A 彻底相同)
问题 D: 二叉树遍历
9.3 树的遍历
问题 A: 树查找
问题 B: 树的高度
9.4 二叉查找树(BST)
问题 A: 二叉排序树
问题 B: 二叉搜索树
9.5 平衡二叉树(AVL树)
问题 A: 算法9-9~9-12:平衡二叉树的基本操做
9.6 并查集
问题 A: 通讯系统
问题 B: 畅通工程
问题 C: How Many Tables
问题 D: More is better
9.7 堆
问题 A: 算法10-10,10-11:堆排序
问题 B: 序列合并 - 超级详细的思路讲解
问题 C: 合并果子(堆)
9.8 哈夫曼树
问题 A: 算法6-12:自底向上的赫夫曼编码
问题 B: 算法6-13:自顶向下的赫夫曼编码
问题 C: 哈夫曼树 - 超级详细的思路讲解
问题 D: Haffman编码
问题 E: 合并果子-NOIP2004TGT2
例题
书上的一部分例题,我的认为有练习价值,因而本身不看答案直接写或者看一下思路实现代码,既然写了也一并附在下面。
web
P95 【codeup5901】回文串
P96 【PAT B1009】说反话
P103 【PAT A1025】PAT Ranking
P167 【PAT A1059】Prime Factors
P209 【PAT A1060】Are They Equal
P261 【PAT A1032】Sharing