04 2021 档案
摘要:二叉搜索树——230. 二叉搜索树中第K小的元素 题目: 思路: 中序遍历+辅助计数,到k了就输出就行。 代码: class Solution { public: // 计数 int n=0; // 存放结果 int res; int kthSmallest(TreeNode* root, int
阅读全文
摘要:二叉树——剑指 Offer 27. 二叉树的镜像 题目: 思路: 中序遍历,其实就是翻转二叉树。 代码: class Solution { public: TreeNode* mirrorTree(TreeNode* root) { if(!root) return NULL; // 前序遍历 中
阅读全文
摘要:二叉树——662. 二叉树最大宽度 题目: 思路: 层序遍历+辅助队列,但是还有些小细节,参考题解后(https://leetcode-cn.com/problems/maximum-width-of-binary-tree/solution/cshuang-bai-de-yan-du-you-xi
阅读全文
摘要:二叉树——113. 路径总和 II 题目: 思路: 前序遍历+回溯 代码参考:https://leetcode-cn.com/problems/path-sum-ii/solution/cqian-xu-bian-li-jia-hui-su-by-qing-feng-seve/ 代码: class
阅读全文
摘要:二叉树——145. 二叉树的后序遍历 题目: 思路: 迭代,顺序是左右中 代码: class Solution { public: vector<int> postorderTraversal(TreeNode* root) { // 放结果 vector<int> res; postorder(r
阅读全文
摘要:二叉树——129. 求根节点到叶节点数字之和 题目: 思路: DFS(深度搜索)+回溯 代码: class Solution { public: int sumNumbers(TreeNode* root) { if (!root) return 0; int res = 0; dfs(root,
阅读全文
摘要:二叉树——958. 二叉树的完全性检验 题目: 思路: 参考了题解,依靠层序遍历。 代码: class Solution { public: bool isCompleteTree(TreeNode* root) { // 辅助栈帮助层序遍历 queue<TreeNode*> q; // 记录是否已
阅读全文
摘要:文本分类评价指标F1原理解析 背景: 就是最近接触的项目是多标签文本分类类型,然后用bert做的,但是bert的评价标准只有准确率,然后组里大佬说光看准确率是不行的,准确率不能反应数据方面的东西,所以借此机会仔细研究一下F1评价指标。 基本了解 准确率(Accuracy) 准确率,顾名思义求法就是采
阅读全文
摘要:二叉搜索树——剑指 Offer 36. 二叉搜索树与双向链表 题目: 思路: 二叉搜索树,自然就是中序遍历,然后就是构建双向链表就可以了。构建双向链表部分有点忘记,又看了看才明白。然后就干就好了。 代码: class Solution { public: Node* treeToDoublyList
阅读全文
摘要:百度Lic2020关系抽取baseline学习 for Bert4Keras 前情提要 就是参加了Lic2021多形态信息抽取赛道,然后找了找之前的baseline,看到了苏神的思路,特地学习了一下,然后记录一下。 赛事背景 信息抽取旨在从非结构化自然语言文本中提取结构化知识,如实体、关系、事件等。
阅读全文
摘要:Large-Scale Hierarchical Text Classification with Recursively Regularized Deep Graph-CNN Input: Document Graph Generation 作用 将文本文档处理为图 具体做法 依据单词共现将文档转
阅读全文
摘要:Hierarchical Multi-Label Classification Networks 何为HMC 常见的文本分类任务中类目之间通常是正交的,即不存在包含关系。而层次分类则是一类特殊的文本分类任务,即类目之间存在层次结构关系,一般可以表示为树形或者无向图。在这类任务中,一条样本的标签会同时
阅读全文
摘要:《Recursive Regularization for Large-scale Classification with Hierarchical and Graphical Dependencies》阅读笔记 Abstract 层次分类中的两个关键挑战是利用类标签之间的层次依赖关系来提高性能,同
阅读全文
摘要:二叉搜索树——剑指 Offer 54. 二叉搜索树的第k大节点 题目: 思路: 二叉搜索树,自然想到中序遍历,然后得到一个有序数组,然后就可以解决了。 代码: class Solution { public: vector<int> res; void dfs(TreeNode* node){ if
阅读全文
摘要:二叉树——112. 路径总和 题目: 思路: 就是递归,就是减然后看最后能不能减为0。还是包含着一点回溯的东西在,但是在代码中体现的不是很完全。 代码: class Solution { public: bool hasPathSum(TreeNode* root, int sum) { if (r
阅读全文
摘要:二叉树——101. 对称二叉树 题目: 思路: 此题就是考的细,原理上不难,还是递归,那么遍历顺序是啥,答案就是后序遍历,有人结合代码看可能不理解,觉得这明明是前序遍历啊,先判断节点,再对左右节点进行递归。这是一个误导,还有就是这次写的代码可读性比较差,那么为啥是后序遍历呢,因为他是先递归然后再判断
阅读全文
摘要:二叉树——226. 翻转二叉树 题目: 思路: 思路就是要确定遍历顺序,和如何进行翻转。 翻转就交换左右节点,通过一个额外的节点,实现交换。然后再递归,那么遍历顺序也就自然而然可以得出是前序遍历,都有了,剩下的干就行了。 代码: class Solution { public: TreeNode*
阅读全文
摘要:解决Could not load dynamic library 'libcudart.so.10.0' 问题: 安装完成tensorflow-gpu后,进行验证gpu是否存在,但是提示false,同时还报出如下错误: 然后百度了一下解决了。 问题出现原因: 就是服务器安装的版本是10.1,但是我t
阅读全文
摘要:解决在服务器上无法打开Tensorboard问题 问题: 一般都是通过MOBA Xterm远程连接服务器进行训练,但是再想打开Tensorboard对训练结果进行分析,但是却打不开,然后也用了内置的浏览器firefox,但是还是打不开,后来百度了一下,解决了这个问题。 解决方法: step1. 打开
阅读全文
摘要:二叉搜索树——98. 验证二叉搜索树 题目: 思路: 二叉搜索树啊,自然而然考虑中序遍历,若真的是二叉搜索树,则为递增序列,反之则不是。 代码: class Solution { private: // 存放二叉搜索树按照中序遍历读取的节点顺序 vector<int> vec; void trave
阅读全文
摘要:关于Tensorflow突然不能使用GPU训练的问题 问题: 最近使用tensorflow-gpu进行训练,然后尝试使用tf_serving进行部署,然后再训练的时候发现不能使用gpu训练了,同时使用命令tf.test.is_gpu_available()检测gpu也显示False,检测不到gpu。
阅读全文
摘要:二叉树——124. 二叉树中的最大路径和 题目: 思路: 思路就是递归,既然是最大,那肯定是左边的最大加上右边的最大再加上root->val才是最大。剩下的具体思路都在代码注释中。 代码: class Solution { // 存放最大路径和 int ans; public: int dfs(Tr
阅读全文
摘要:二叉树——105. 从前序与中序遍历序列构造二叉树 题目: 思路: 这题就是考察两种遍历的特点,前序遍历的第一个为root结点,知道了root结点,就可以在中序遍历中知道在root结点之前的为左子树,在root结点之后的为右子树。然后就可以递归的构造出左子树和右子树。 具体实现的时候,就是要借助哈希
阅读全文
摘要:二叉树——543. 二叉树的直径 题目: 思路: 二叉树的直径,就是求最长路径然后减1。所以现在问题就变为了求最长路径的问题。 最长路径的问题又可以类比求最大路径和的问题,所以就是求左子树的最长路径和右子树的最长路径然后加上root结点就是最长路径了,遍历顺序自然和求最大路径和一样也是后序遍历,然后
阅读全文
摘要:二叉树——144. 二叉树的前序遍历 题目: 思路: 前序遍历用递归,递归逻辑就是前序遍历的顺序:中左右,然后就行了。 代码: class Solution { public: void traversal(TreeNode* node, vector<int>& vec){ // 终止条件 if(
阅读全文
摘要:二叉树——110. 平衡二叉树 题目: 思路: 这题采用DFS,自底向上查看,如果底下的树不平衡则会返回-1,因此我们也不用在继续递归。 注意我们是先从左边开始,如果左边都不平衡那么就直接return -1了,也就不在递归右边了。 题解作者:Xiaohu9527 链接:https://leetcod
阅读全文
摘要:二叉树——104. 二叉树的最大深度 题目: 思路: 还是老样子,就是看你用BFS还是DFS。 DFS:递归层数较大时有风险。就是递归,然后看左子树和右子树的maxdepth然后别忘了加1。 BFS:和右视图差不多,还是借助队列存放一层元素,还要设置个变量depth记录层数。这里我们选择BFS 代码
阅读全文
摘要:二叉树——199. 二叉树的右视图 题目: 思路: 层序遍历(BFS),记录下每层最后一个结点。 代码: class Solution { public: vector<int> rightSideView(TreeNode* root) { queue<TreeNode*> que; if(roo
阅读全文
摘要:二叉树——94. 二叉树的中序遍历 题目: 思路: 就递归啊,套模板,别想迭代了,迭代还要借助栈直接考虑递归,老舒服了。记着中序遍历的顺序就是:左中右,这是我们单层递归的逻辑。 代码: class Solution { public: void inorder(TreeNode* root, vec
阅读全文
摘要:二叉树——236. 二叉树的最近公共祖先 题目: 思路: 后续遍历+DFS:具体思路参照了题解中的解析 代码: class Solution { public: TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode*
阅读全文
摘要:二叉树——102. 二叉树的层序遍历 题目: 思路: 就是层序遍历,一层层扫下去,然后通过队列去实现,一个队列先暂存这一层的所有结点,然后另一个队列通过push_back的方式,实现从左到右的访问。 代码: class Solution { public: vector<vector<int>> l
阅读全文
摘要:二叉树——103. 二叉树的锯齿形层序遍历 题目: 思路: 本题可以看成层序遍历的变种,就是输出要求老变,然后可以通过设置一双端队列,用于暂存一层的结点,然后根据当前层数是奇数层还是偶数层决定此队列的读取顺序。 判断是奇数层还是偶数层的具体实现可以通过设置一个变量,去标记本层的读取顺序,遍历完一层后
阅读全文
摘要:二叉搜索树——1305. 两棵二叉搜索树中的所有元素 题目: 思路: 二叉搜索树,还升序,自然是中序遍历了。然后就是要考虑一个归并排序的问题,我查了一下归并排序感觉并不是网上说的那种,我这种就是一一对比,通过递归实现。 整体就是通过两个数组存放中序遍历后的两颗二叉搜索树,然后归并排序。 代码: cl
阅读全文

浙公网安备 33010602011771号