我觉得这道题和传统的用动规或者贪心等算法的题目不同。按照题目的意思,就是将被‘X’围绕的‘O’区域找出来,然后覆盖成‘X’。那问题就变成两个子问题:1.
找到‘O’区域,可能有多个区域,每个区域‘O’都是相连的;2. 判断‘O’区域是否是被‘X’包围。我采用树的宽度遍历的方法,找到每一个‘O’区域,...
分类:
其他好文 时间:
2014-04-28 18:42:42
阅读次数:
1708
这道题中要求时间复杂度为O(n),首先我们可以知道的是,如果先对数组排序再计算其最长连续序列的时间复杂度是O(nlogn),所以不能用排序的方法。我一开始想是不是应该用动态规划来解,发现其并不符合动态规划的特征。最后采用类似于LRU_Cache中出现的数据结构(集快速查询和顺序遍历两大优点于一身)来...
分类:
其他好文 时间:
2014-04-28 10:21:19
阅读次数:
1003
对一句话里面的单词进行reverse,标点符号位置不变。符号包括:,.!?
例:输入:Hello, my dear friend! 输出:olleH, ym raed dneirf!
思路:由于需要逆序输出,因此想到利用栈数据结构来实现。代码如下(调试环境:VS2013):
分类:
其他好文 时间:
2014-04-27 21:05:01
阅读次数:
596
边界标志算法1.对多边形的每一条边进行扫描转换,即对多边形边界所经过的象素作一个边界标志。2.填充对每条与多边形相交的扫描线,按从左到右的顺序,逐个访问该扫描线上的象素。取一个布尔变量inside来指示当前点的状态,若点在多边形内,则inside为真。若点在多边形外,则inside为假。Inside...
分类:
其他好文 时间:
2014-04-27 20:53:06
阅读次数:
698
1.DDA算法实现直线绘制(需先安装easyx,百度下载即可) 1 #include
"easyx.h" 2 #include "math.h" 3 #include "windows.h" 4 #include "stdio.h" 5
#include "stdlib.h" 6 #include ...
分类:
其他好文 时间:
2014-04-27 20:51:40
阅读次数:
777