
算法题
Fake_Killer
编程小白请多指教
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CCF-201512-3(90分超时求指点)
本题是一道比较复杂的模拟题,本人目前只想出了下面这种比较朴素的算法,对于如何优化以避免超时目前没有思路,求大佬们指点!!! 问题描述 试题编号: 201512-3 试题名称: 画图 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。 ..____.____.原创 2021-03-04 17:34:02 · 250 阅读 · 1 评论 -
CCF-201403-2 窗口
问题描述 试题编号: 201403-2 试题名称: 窗口 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。 当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,原创 2021-01-27 17:05:57 · 252 阅读 · 0 评论 -
CCF题库——201312-3最大的矩形
问题描述 试题编号: 201312-3 试题名称: 最大的矩形 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。 请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给..原创 2021-01-24 21:29:42 · 281 阅读 · 0 评论 -
剑指offer——寻找二叉搜索树的第K小个节点
给定一棵二叉搜索树,请找出其中的第k小的结点。 思路:首先,对一棵二叉搜索树来说,从小到大的遍历顺序要通过中序遍历才能够得到;其次要思考如何才能得出这个节点,我的想法是创建一个vector数组形式的全局变量用于保存二叉树的中序序列下的树的节点地址。最后要注意,牛客网是在同一程序中给出多组数据来验证结果,故要在方法开始处清除动态数组的内容。 vector<TreeNode*> mix;//全局动态数组变量 class Solution { public: void Middle(Tr原创 2021-01-06 23:34:23 · 181 阅读 · 0 评论 -
判断平衡二叉树
输入一棵二叉树,判断该二叉树是否是平衡二叉树。 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树 定义:平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 因为子树的左右子树的高度差的绝对值大于1不能使整颗树的左右子树高度差绝对值大于1,所以需要通过遍历的方式将整棵树遍历一遍并检测其左右子树高度差是否大于1。 int TreeDepth(TreeNode* pRoot)原创 2021-01-06 23:11:52 · 238 阅读 · 0 评论 -
剑指offer 跳台阶
题目介绍: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路: 本题可以有两种思路,一种是通过组合排列来计算跳法总次数,一种是通过斐波那契数列特性来计算。 组合排列法: 本方法有一坑,就是在计算时,n的值过大会导致排列组合数值的溢出,此处,通过随算随除的方式将排列组合的计算进行优化。 int jumpF...原创 2019-12-10 20:14:16 · 207 阅读 · 0 评论 -
两个栈实现一个队列
本题先前在复习王道时碰到过,当时因为写伪代码,只是想让两个栈来回倒,没有考虑其他问题;这次在做题时直接写系统提示我栈调用次数太多,段错误了。错误代码如下: class Solution { public: void push(int node) { stack1.push(node); } int pop() { int head;...原创 2019-12-10 15:38:26 · 183 阅读 · 0 评论