摘要: 题意:给你一个地图,求联通块的数量。 题解: for(所有还未标记的‘@’点) 边dfs边在vis数组标记id,直到不能继续dfs。 输出id及可; ac代码: 阅读全文
posted @ 2018-04-12 21:04 SuuTTT 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题意:前序遍历给出两个像素方块。求两个方块叠加后有几个黑色格子。 题解:每次读进来一个方块,就在二维数组上涂色。每次把白色涂黑就cnt++; 具体递归方法是以右上角坐标与边长为参数,每次通过几何规律往下递归一层。 如果当前节点是'p'就继续递归,如果是f,e就说明是叶子结点,e直接返回,f对整个区域 阅读全文
posted @ 2018-04-12 20:39 SuuTTT 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一颗二叉树的前序遍历,空子树以-1表示,将左右子树的权值投影到一维数轴上,左儿子位置为根位置-1,右儿子+1求个个整点上的和; 题解:递归,整个过程只需维护一个sum数组。 代码: 阅读全文
posted @ 2018-04-12 19:07 SuuTTT 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题意:判断某个天平是否平衡,输入以递归方式给出。 题解:递归着输入,顺便将当前质量作为 &参数 维护一下,顺便再把是否平衡作为返回值传回去。 坑:最后一行不能多回车 附:天秀代码 阅读全文
posted @ 2018-04-12 17:54 SuuTTT 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题意:给你中序后序 求某叶子节点使得从根到该节点权值和最小。若存在多个,输出其权值最小的那个。 题解:先建树,然后暴力dfs/bfs所有路径,取min 技巧:递归传参数,l1,r1,l2,r2, sum,root, 代码: 阅读全文
posted @ 2018-04-12 17:30 SuuTTT 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一些字符串,代表某个值被插入树中的位置。让你输出层序遍历。 题解:动态建树。 由于输入复杂,将输入封装成read_input。注意输入函数返回的情况 再将申请新节点封装成newnode(). 最后层序输出直接用bfs实现。 坑:我把ans.clear放到主程序的if里面,导致某特定情况无法 阅读全文
posted @ 2018-04-12 16:10 SuuTTT 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题意:判断出栈顺序是否合法 题解:两个指针,A指向入栈序列,B指向出栈。 的分三种情况:if 1.A==B :直接入栈加出栈即可A++,B++ else 2.和栈顶相同,直接出栈A==stack.top A++,stack.pop else 3. 都不符合 压入栈stack.push(A) 阅读全文
posted @ 2018-04-12 10:55 SuuTTT 阅读(144) 评论(0) 推荐(0) 编辑