127 - "Accordian" Patience
//1.测试数据大约30000条
使用STL的stack就是屎
用两层vector,并利用线性表可以在规定的时间内解决掉
101 - The Blocks Problem
//1.思路:
使用线性表来解决, 记录每个pile的初始方块,
记录每个方块的left 和 right
通过clear 和 move 来完成四个操作
//2. 细节注意:
在线性表中, 需要注意每一个元素的left 和 right
133 - The Dole Queue
//1.
这一道题我是用线性表解决的myleft[],myright[]
但是因为用了线性表就无法在目前的代码下用 模运算 来处理k与m,
因为木有记录当前元素应当算链表中的第几个!!!
10152 - ShellSort 龟壳排序
//1.思路
由于排序的次数要最少,所以一只乌龟最多只能被提出来一次,而其他的则没有被提出来过
所以 结果中的那堆乌龟最下面肯定是没有被选中的
所以 两个数组从下到上 做对比 知道原先的数组访问到第0个,
结果数组中剩下的就是被提出来的乌龟了。
442 - Matrix Chain Multiplication 矩阵链乘
//1.思路
用堆栈记录表达式,遇到')'弹,其余入栈
//2.弹得时候记得堆栈是后进先出
11111 - Generalized Matrioshkas
//1.思路 ; 子乔的娃娃。。。一个套一个。。
利用堆栈,比如说碰到了4就往前找 负数,如果第一个负数不是-4,那就肯定不是正确地
期间碰到的 正数 都是娃娃4号 所包含的玩具。
最后将 4 压入栈
最后应该只有一个元素 才能表示 解正确
11234 - Expressions
//1.思路:
构建二叉树,然后bfs遍历压入堆栈, 然后依次读取堆栈的值
//2.
利用数组避免 指针的运用, 没读入一个字符创建一个节点i
char n_val[kExp];
int m_left[kExp],m_right[kExp];
//1.测试数据大约30000条
使用STL的stack就是屎
用两层vector,并利用线性表可以在规定的时间内解决掉
101 - The Blocks Problem
//1.思路:
使用线性表来解决, 记录每个pile的初始方块,
记录每个方块的left 和 right
通过clear 和 move 来完成四个操作
//2. 细节注意:
在线性表中, 需要注意每一个元素的left 和 right
133 - The Dole Queue
//1.
这一道题我是用线性表解决的myleft[],myright[]
但是因为用了线性表就无法在目前的代码下用 模运算 来处理k与m,
因为木有记录当前元素应当算链表中的第几个!!!
10152 - ShellSort 龟壳排序
//1.思路
由于排序的次数要最少,所以一只乌龟最多只能被提出来一次,而其他的则没有被提出来过
所以 结果中的那堆乌龟最下面肯定是没有被选中的
所以 两个数组从下到上 做对比 知道原先的数组访问到第0个,
结果数组中剩下的就是被提出来的乌龟了。
442 - Matrix Chain Multiplication 矩阵链乘
//1.思路
用堆栈记录表达式,遇到')'弹,其余入栈
//2.弹得时候记得堆栈是后进先出
11111 - Generalized Matrioshkas
//1.思路 ; 子乔的娃娃。。。一个套一个。。
利用堆栈,比如说碰到了4就往前找 负数,如果第一个负数不是-4,那就肯定不是正确地
期间碰到的 正数 都是娃娃4号 所包含的玩具。
最后将 4 压入栈
最后应该只有一个元素 才能表示 解正确
11234 - Expressions
//1.思路:
构建二叉树,然后bfs遍历压入堆栈, 然后依次读取堆栈的值
//2.
利用数组避免 指针的运用, 没读入一个字符创建一个节点i
char n_val[kExp];
int m_left[kExp],m_right[kExp];