摘要: 背景 最近公司培训写项目用的QT,一直觉得QT的信号槽是个好东西,编程效率很高。 情况 导致我一直盲目的使用信号槽。也不是不知道信号槽的执行效率相比直接调用而言低很多(10倍左右),只是觉得又不是特殊环境,就一直滥用信号槽,其实很多地方,直接调用就行,但是脑子已经僵化,闭着眼就用上信号槽了。 后续 阅读全文
posted @ 2021-11-10 22:24 抚琴思伯牙 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目解析 题目意思很简单,就是给你一个二叉树,然后告诉你每个节点都是有位置信息的,即每个节点可以用(x,y)来表示。然后节点位置信息为(x,y)的节点的左节点位置为(x+1,y-1),右节点位置为(x+1,y+1)。并且根节点的位置信息统一为(0,0) 现在你需要像扫描表格一样,从上往下,从左往右的 阅读全文
posted @ 2021-08-01 15:08 抚琴思伯牙 阅读(86) 评论(0) 推荐(0) 编辑
摘要: GMSSL编译 阅读全文
posted @ 2021-07-20 10:58 抚琴思伯牙 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 暴力匹配就不说了,说说KMP。 KMP算法思想: 第一步:根据模式串(needle)得出next数组。 第二步:匹配主串,但在匹配主串时,遇到冲突位置时,不是立即和暴力匹配一样直接从头匹配。而是查看next数组,得到一个回退位置,从此处再开始匹配。 重复第二步,直至匹配成功或者匹配失败。 next数 阅读全文
posted @ 2021-04-20 15:05 抚琴思伯牙 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目意思就是说判断s1能否经过题目所说的算法得到s2。 题目中的算法处理的位置为随机,所以复现算法基本无法得到s2 那么只能搜索了。 分析: 初始时:如果s1==s2,直接返回true。 对于一个字符串s1,在随机位置分割s1,那么我们只能遍历s1,假设当前位置为分割处,然后进行后续操作,来判断是否 阅读全文
posted @ 2021-04-16 15:58 抚琴思伯牙 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 这个题主要解法和1是一样的,都是动态规划,建立一个2xn的二维数组,一行表示偷,一行表示不偷。 递推公式: i号房子偷,那么i-1号房子必不能偷,i号房子不偷,则当前最大金额值为偷到i-1号房子时偷和不偷的最大值 当前房子选择偷:dp[1][i] = dp[0][i-1] 当前房子不偷:dp[0][ 阅读全文
posted @ 2021-04-15 10:47 抚琴思伯牙 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 前序遍历 + 中序遍历 = 可复原树 后序遍历 + 中序遍历 = 可复原树 前序遍历 + 后序遍历 = 不可 分析: 前序遍历第一个值即为根节点,但是无法知道左子树有几个节点,也就确定不了左右子树 中序遍历如果能知道根节点,就能知道左子树、右子树各自节点数。 组合两者,由前序得到根节点,再由中序判别 阅读全文
posted @ 2021-04-14 15:11 抚琴思伯牙 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 前缀树又称字典树,每颗节点结构与一般树有一点不同。 一般树节点 struct TreeNode { valueType val; vector<TreeNode*> next;//个数不固定,个数代表一个节点有多少个子节点 } 本题前缀树节点 struct TrieNode { bool isEnd 阅读全文
posted @ 2021-04-14 11:25 抚琴思伯牙 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 作业任务: 填写并调用函数 rasterize_triangle(const Triangle& t)。 即实现光栅化 该函数的内部工作流程如下: 创建三角形的 2 维 bounding box。 遍历此 bounding box 内的所有像素(使用其整数索引)。然后,使用像素中 心的屏幕空间坐标来 阅读全文
posted @ 2021-04-13 22:29 抚琴思伯牙 阅读(2731) 评论(1) 推荐(2) 编辑
摘要: PS:(感觉这题名字和内容有歧义) 要求得到任意不同节点值之间的最小差值。 本身二叉树是有序的,又找最小差值,其实就是相当于在一个有序数组中找到每相邻两数之间最小差值。 朴素思想: 中序遍历树,把值都塞到数组里,然后遍历数组,得到最小差值。 改良: 中序遍历树时,依次得到的数已经是有序的,只需在遍历 阅读全文
posted @ 2021-04-13 11:16 抚琴思伯牙 阅读(70) 评论(0) 推荐(0) 编辑