-
最大子矩形、矩阵等
Index 最大矩形 柱状图中最大的矩形 最大正方形 最大子矩阵 矩形区域不超过 K 的最大数值和 可将一个元素变为0的最大矩形最大矩形leetcode 85给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。分析: height[j] 表示 第j列连续字符’1’的高度,该高度按行进行更新 left[j] 表示第j列,高度为height[j]的左边界 right[j] 表示第j列,高度为height[j]的右边界 ...…
-
排序算法及应用
===Index 插入排序 希尔-插入排序 冒泡排序 选择排序 快速排序 归并排序 堆排序 彩虹排序 第k小/大数 最小k个数 数据流中的中位数 总结总结几种常用排序算法。 原理部分参考自:https://www.jianshu.com/p/916b15eae350。插入排序思路是类似扑克牌的排序,每次从未排序序列的第一个元素,插入到已排序序列中的合适位置。假设初始的有序序列为第0个元素(本文描述的序号都从0开始),只有一个元素的序列肯定是有序的,然后从原先序列的第...…
-
公共子串,回文子串问题
===Index 最长公共子序列 最长公共子串 最长回文子序列 最长回文子串 回文子串数目 分割回文串(分割方案数) 分割回文串(最小分割次数) 让字符串成为回文串的最少插入次数最长公共子序列给定两个字符串 s 和 t,返回这两个字符串的最长公共子序列的长度。leetcode 1143int longestCommonSubsequence(string s, string t) { int n = s.size(), m = t.size(); vector&...…
-
最长上升子串问题
===Index 最长上升子序列 最长连续递增序列 最长连续序列 最长递增子序列的个数 最大上升子序列和 最长公共子上升序列 双向最长上升子序列最长上升子序列给定一个无序的整数数组,找到其中最长上升子序列的长度。leetcode 300int lengthOfLIS(vector<int>& nums) { vector<int> res; for (int i = 0; i < nums.size(); ++i) { ...…
-
求浮点数x的平方根, 以及求pow(x, n)
实现求浮点数x的平方根函数, 要求误差精度小于 epision = 1e-10 ,其函数原型为:double sqrt(double x, double eps);1.二分法时间复杂度二分法的时间复杂度为 O(log(x))double sqrt(double x, double eps = 1e-10) { assert(x >= 0); double l = 0, r = x >= 1 ? x : 1, mid; while (fabs(l * l - ...…
-
XGBoost常见问题总结
===Index 简单介绍一下XGBoost XGBoost与GBDT有什么不同 XGBoost为什么使用泰勒二阶展开 XGBoost为什么可以并行训练 XGBoost为什么这么快 XGBoost防止过拟合的方法 XGBoost如何处理缺失值 XGBoost中叶子结点的权重如何计算出来 XGBoost中的一棵树的停止生长条件 RF和GBDT的区别 XGBoost如何处理不平衡数据 比较LR和GBDT,说说什么情景下GBDT不如LR XGBoost中如何对树进行剪枝...…
-
AIDiy-专注于人工智能研究者的技术交流社区
简介AIDiyAIDiy是我在2019年期末期间开发的一个技术交流社区,其设计的愿景是针对高校和企业中的人工智能研究者,如机器学习、深度学习、自然语言处理、计算机视觉,强化学习等领域,提供一个学习和交流的社区。功能定位 bbs: 用户在社区中发布简短帖子和网友进行讨论。 博客: 用户可以撰写并发布技术博客。 微博:用户可以在个人空间中记录或发表一些工作和生活中的感想 资源:AIDiy中有专门的教程和资源模块,用于分享AI领域的开发文档、模型源码、电子书籍、顶会论...…
-
二叉搜索树
二叉搜索树是一种非常重要的数据结构,这里实现其结构的定义以及插入、查找和删除操作。二叉搜索树定义定义二叉搜索树是指一颗空树或者具有下列性质的二叉树: 若其左子树存在,则其左子树中所有节点的值都不大于该节点值; 若其右子树存在,则其右子树中所有节点的值都不小于该节点值。 二叉搜索树的 中序遍历 结果为升序排列。其结构体定义struct Node{ int val; Node* left; Node* right; Node(int v, Node* ...…
-
链表问题总结
链表问题是c/c++技术岗面试过程中的重点问题,通过对各种链表操作的考察,能够反映出面试者对编程语言掌握的熟练程度,对链表数据结构和指针、地址等概念的理解。===Index 反转 单链表反转 反转从位置 m 到 n 的链表 k个一组翻转链表 两两交换链表中的节点 旋转链表 删除节点 在 O(1) 时间内删除链表节点 删除排序链表中重复元素 删除排序链表中的重复元素II ...…
-
栈和队列
栈和队列数据结构以及实现栈栈是一个 LIFO 数据结构。通常,插入操作在栈中被称作入栈push。与队列类似,总是在堆栈的末尾添加一个新元素。但是,删除操作,退栈 pop ,将始终删除队列中相对于它的最后一个元素。实现使用动态数组vector实现堆栈结构的代码参考:c++代码:#include <iostream>class MyStack { private: vector<int> data; // store el...…
-
二分查找模版
bug free 的二分查找模版工作原理在最简单的形式中,二分查找对具有指定左索引和右索引的连续序列进行操作。这就是所谓的查找空间。二分查找维护查找空间的左、右和中间指示符,并比较查找目标或将查找条件应用于集合的中间值;如果条件不满足或值不相等,则清除目标不可能存在的那一半,并在剩下的一半上继续查找,直到成功为止。如果查以空的一半结束,则无法满足条件,并且无法找到目标。在接下来的章节中,我们将回顾如何识别二分查找问题,“为什么我们使用二分查找” 这一问题的原因,以及你以前可能不知道的 3 ...…
-
leetcode题解
本博客记录一些比较经典的题目和优秀的解法给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.求出现一次的元素 方法1 考虑到每个元素都只出现一次或两次,所以最终结果的和应该为sum=2a+2b+…+n,所以我们只要求得sum1=a+b+c+…+n 用2*sum1-sum就等于只出现一次的元素。 代码: int singleNumber(int a[], int n){ set<int> hashSet; ...…
-
BERT Pre-training of Deep Bidirectional Transformers for Language Understanding翻译
本文是BERT论文的全文翻译,转载注明出处和译者。原文 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,这是BERT在2018年11月发布的版本,与2019年5月版本v2有稍许不同。PDF版翻译以及相关资源链接 GitHub BERT_Paper_Chinese_Translation译者:袁宵说明:1. 对于没有标准译法的词语保留了原单词;2. 以准确翻译为第一目标,力求保持...…
-
算法工程师思维导图
本资料源于夕小瑶的卖萌屋,我对此作了部分修改。#算法工程师思维导图数学基础线性代数https://www.zhihu.com/question/21082351/answer/1023650088 行列式 https://www.zhihu.com/question/36966326/answer/69790713 矩阵运算 https://zhuanlan.zhihu.com/p/67943590 概率论与统计 排列组合 https:...…
-
海量数据面试算法总结
前言一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。毕竟受文章和理论之限,本文摒弃绝大部分的细节,只谈方法/模式论,且注重用最通俗最直白的语言阐述相关问题。最后,有一点必须强调的是,全文行文是基于面试题的分析基础之上的,具体实践过程中,还是得具体情况具体分析,且场景也远比本文所...…
-
CMeKG-中文医学知识图谱
简介CMeKG 我们实验室和郑州大学、鹏城实验室联合卡开发的中文医学知识图谱关于本项目的各种问题,欢迎大家与我讨论和反馈,提出宝贵意见。CMeKG(Chinese Medical Knowledge Graph)是利用自然语言处理与文本挖掘技术,基于大规模医学文本数据,以人机结合的方式研发的中文医学知识图谱。CMeKG的构建参考了ICD、ATC、SNOMED、MeSH等权威的国际医学标准以及规模庞大、多源异构的临床指南、行业标准、诊疗规范与医学百科等医学文本信息。CMeKG 1.0包括:6...…
-
ACL组委会手把手教你论文投稿小技巧
(转载自AI 科技评论)虽然今年几个大会议的投稿已经结束,但是还有未来更多会议的deadline在等着呀。在投稿的截止日期之前写出一篇完美的论文是众多研究者的心愿,deadline之前的一个礼拜时间虽短,但是仍能够将一篇文章从最初充满错误的草稿变为一篇漂亮的论文。同时投稿也有很多技巧和注意事项,还有谁比审稿人自己更了解什么样的论文比较讨人喜欢呢?下面来我们就来看看ACL组委会的审稿人对deadline还有一周时的写作建议,以及通用的完美论文小技巧。Claire Cardie(Cornell...…
-
自然语言处理领域重要论文&资源全索引
作者:Kyubyong Park机器之心编译参与:刘晓坤、李泽南自然语言处理(NLP)是人工智能研究中极具挑战的一个分支。随着深度学习等技术的引入,NLP 领域正在以前所未有的速度向前发展。但对于初学者来说,这一领域目前有哪些研究和资源是必读的?最近,Kyubyong Park 为我们整理了一份完整列表。GitHub 项目链接:https://github.com/Kyubyong/nlp_tasks本人从事自然语言处理任务(NLP)的研究已经有很长时间了,有一天我想到,我需要为庞大的 N...…
-
如何在读研的道路上快速失败?
成功很难,但失败很容易……………..来源 : 陈老师有话说作者 | 陈怡然介绍 | 杜克大学电子与计算机工程系副教授,杜克进化智能研究中心主任,美国自然科学基金委新型可持续智能计算产学合作中心主任存储、类脑计算与深度学习专家,IEEE Fellow。失败的圣经 为自己找出一堆把其他个人兴趣爱好或者其他事情放在学习之上的理由:比如人活着就是为了享受生活,要事业家庭平衡之类(说真的,这是人生观问题。也许一开始你就根本不需要/不应该读研); 认为很多必须要做的事情...…
-
和老师赶deadline的十大注意事项
十大注意事项来源 : 陈老师有话说作者 | 陈怡然介绍 | 杜克大学电子与计算机工程系副教授,杜克进化智能研究中心主任,美国自然科学基金委新型可持续智能计算产学合作中心主任存储、类脑计算与深度学习专家,IEEE Fellow。一、请提早开始今年有个刚来的学生在文章截稿两周前我碰到他在实验室看视频。我说你没事做了?赶紧赶文章。他说没问题,我心里有数。结果他的第一稿一直到截稿前三个小时才全部完成。我只好陪着他改到最后一分钟。由于时间有限,很多段落都只能改了改英语,对于逻辑和细节则完全无...…