04 2020 档案
摘要:题目描述: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。要求空间复杂度为$O(1)$ 题解: 方案一使用环状替换: 如果我们直接把每一个数字放到它最后的位置,但这样的后果是遗失原来的元素。因此,我们需要把被替换的数字保存在变量$temp$里面。然后,我们将被替换数字($te
阅读全文
摘要:ll quick_pow(ll x,ll n,ll m) { ll res = 1; while(n > 0) { if(n & 1) res = res * x % m; x = x * x % m; n >>= 1;//相当于n=n/2.详情请参考位移运算符。 } return res; }
阅读全文
摘要:前言 最大似然估计(Maximum likelihood estimation, 简称MLE)和最大后验概率估计(Maximum a posteriori estimation, 简称MAP)是很常用的两种参数估计方法,如果不理解这两种方法的思路,很容易弄混它们。下文将按照以下顺序进行介绍: 概率与
阅读全文
摘要:题目描述: 编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为1,那么这个数就是快乐数。如果 n 是快乐数就返回 True ;不是,则返回 Fa
阅读全文
摘要:贴一个板子(之前快手笔试的时候写错了..奇耻大辱) 先给出两个公式:$C^{n}_{m} = \frac{m!}{m!(m-n)!}$以及 $C^{n}_{m} = C^{n-1}_{m-1} + C^{n}_{m-1}$ 计算代码如下: int mat[1001][1001]; int combi
阅读全文
摘要:题目描述: 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。 格雷编码序列必须以 0 开头。 题解: 找到格雷码和二进制编码的规律(见代码)。 Int Grey Code
阅读全文
摘要:题目描述: 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是$O(n)$,空间复杂度是$O(1)$。 题解: 如果数组里面只有一个数字出现了一次,其余出现了两次,一遍异或就可以将其找出来。对于两个只出现一次的数,我们考虑将其分组,使
阅读全文
摘要:题目描述: 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。 题解: 为了组成最大的整数,我们希望把较大的数安排在前面,如果仅按降序排序,有相同的开头数字的时候会出现问题。比方说,样例 $[3,30,34,5,9]$ 按降序排序得到的数字是$95343303$,然而交换$3$和$30$的
阅读全文
摘要:转自:https://zhuanlan.zhihu.com/p/46448216 这个系列都是为了面试复习准备的,有一些参考李航老师的统计学习方法,有一些则是借鉴于知乎的一些大佬,话不多说,干正事。 1. 什么是KNN 2. K值对估计误差、近似误差的影响 3.KNN的实现 这里简单补充一下k值如何
阅读全文
摘要:一、主成分分析(PCA) 主成分分析中,首先对给定数据进行规范化,使得数据每一变量的平均值为0,方差为1。之后对数据进行正交变换,原来由线性相关变量表示的数据,通过正交变换变成由若干个线性无关的新变量表示的数据。新变量是可能的正交变换中变量的方差的和(所需要保存的信息量)最大的,方差表示在新变量上信
阅读全文
摘要:冒泡排序 冒泡排序是最基础的排序算法了,大体的思想是通过与相邻元素的比较和交换把小的数交换到最前面。不断的重复交换的过程,直到有一轮遍历没有发生交换。冒泡排序的时间复杂度为$O(n^{2})$。 代码如下: class BubbleSort { public: void bubbleSort(vec
阅读全文
摘要:引言: 这篇小结是为了准备面试而写的,从决策树的基本概念到决策树的学习再到决策树的剪枝,粗中有细,话不多说开始咯。 决策树模型 决策树模型是一个有监督的分类模型,其本质是选择一个能带来最大信息增益的特征进行节点分裂,直到满足某些约束条件例如叶子结点纯度到达一定阈值。下图为决策树的一个示例: 1.决策
阅读全文
摘要:题目描述: 给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)。例如n = 5的时候,结果为2(5 = 5 , 5 = 1+1+1+1+1) 题解: 定义dp[i]表示和为i的时候有几种分法。这里状态的转移要注
阅读全文
摘要:1. 模型介绍 Logistic Regression 虽然被称为回归,但其实际上是分类模型,并常用于二分类。Logistic Regression 因其简单、可并行化、可解释强深受工业界喜爱。在正式介绍模型之前,先聊一聊Logitstic分布。 1.1 逻辑斯谛分布(logistic distri
阅读全文
摘要:RF与GBDT的区别 1. 相同点: 都是基于树模型的集成学习方法 最终的结果都是由多颗树一起决定 2. 不同点: RF的基学习器可以是分类树也可以是回归树,GBDT只由回归树组成 RF可以并行生成,GBDT只能串行 RF的结果为多数表决或者平均值,GBDT则是多颗树累加之和 RF对异常值不太敏感(
阅读全文
摘要:题目描述: 对于字符串 S 和 T,只有在 S = T + ... + T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。返回最长字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。 题解: 要注意到一个性质:符合条件的字符串$X$的长度为$gcd(s1,s2)
阅读全文
摘要:TopK # 前K小 int quicksort(vector<int>& arr,int left,int right) { int tmp = arr[left]; while(left < right) { while(left < right && arr[right] > tmp) rig
阅读全文
摘要:(待整理) https://github.com/datawhalechina/joyful-pandas
阅读全文
摘要:1. 回归(Regression)算法指标 Mean Absolute Error 平均绝对误差 Mean Squared Error 均方误差 Root Mean Squared Error:均方根误差 Coefficient of determination 决定系数 以下为一元变量和二元变量的
阅读全文
摘要:题目描述: 如果我们交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等,那么称 X 和 Y 两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。例如,"tars" 和 "rats" 是相似的 (交换 0 与 2 的位置); "rats" 和 "arts" 也是相似的,但是
阅读全文
摘要:int lengthOfLIS(vector<int>& nums) { int Len = nums.size(); if(Len == 0 ) return 0; int dp[Len+10]; // dp[i] 表示所有长度为i+1的子序列末尾元素的最小值 int ret = 0; memse
阅读全文
摘要:转自:https://zhuanlan.zhihu.com/p/77686118 前言: 在正文开始之前,先说一下关于Loss Function、Cost Function 和Objective Function的区别和联系。在机器学习的语境下这三个术语经常交叉使用。 损失函数 (Loss Func
阅读全文
摘要:题目描述: 给定一个由0和1组成的矩阵,找出每个元素到最近0的距离,两个相邻元素间的距离为1. 题解: BFS: 先考虑只有一个零的情况,那么只需要从这个零出发BFS更新距离就好。现在矩阵中有多个零,那么我们将这个多个零看作同一层(也可以理解为一个零的集合),然后以这个集合为起点同步BFS即可。举个
阅读全文
摘要:题目描述: 在有向图中, 我们从某个节点和每个转向处开始, 沿着图的有向边走。 如果我们到达的节点是终点 (即它没有连出的有向边), 我们停止。现在, 如果我们最后能走到终点,那么我们的起始节点是最终安全的。 更具体地说, 存在一个自然数 K, 无论选择从哪里开始行走, 我们走了不到 K 步后必能停
阅读全文
摘要:转自(http://www.renfei.org/blog/bipartite-matching.html) 这篇文章讲无权二分图(unweighted bipartite graph)的最大匹配(maximum matching)和完美匹配(perfect matching),以及用于求解匹配的匈
阅读全文
摘要:题目描述: 给定正整数 N,返回小于等于 N 且具有至少 1 位重复数字的正整数。 题解: 求至少有1位重复数字的正整数有点复杂,转换一下思路,求小于等于N没有重复数字的正整数的个数。定义一个$dp[pos][status][bound]$(dp定义解释戳这里)。这里的$status$借用了一下状压
阅读全文
摘要:前一宿没睡好,困的不行,写的有点慢.. 5380. 数组中的字符串匹配 题目描述: 给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。如果你可以删除 words[j] 最左侧和/或最右侧的若干字符得到 wo
阅读全文
摘要:题目描述: 给定一个数n,求n的阶乘末尾零的个数。 题解: 一些规律: 末尾零的个数与这个数因子中10的个数有关。 10的质因子为2和5,10的个数可以转换为有多少个(2,5)对。然而一个数的质因子分解中,2的个数大于等于5的个数,也就是说末尾0的个数与质因子5的个数有关。 如果直接用质因子分解的方
阅读全文
摘要:介绍 集成模型是一种能在各种的机器学习任务上提高准确率的强有力技术。在这篇文章中,我会分享我在Kaggle比赛中的集成方法。 在第一部分中,我们会讨论从提交文件中建立集成。主要包括: 投票集成 平均 排名平均 第二部分我们会讨论 通过 generalization/blending等方法来创建集成。
阅读全文
摘要:题目描述: 在本问题中, 树指的是一个连通且无环的无向图。输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满
阅读全文
摘要:理论来说,如果不同的模型在评分上类似但是结果上差异较大,那么这些不同的模型融合效果会比较理想. 内容简介 1. 简单加权融合: 回归(分类概率):算术平均融合,集合平均融合(权重的差异不宜过大) 分类:投票(Voting) 综合: 综合排序(Rank averaging),log融合 (分线性) 2
阅读全文
摘要:模型评估 使用metric函数来进行评分 sklearn.metrics里面提供了一些函数来帮助我们进行评分。其中里面以_score结尾的函数的返回值越大,模型的性能越好。而以_error或_loss结尾的函数,返回值越小,表示模型性能越好。从命名上来看,这一点不难理解。 metrics里面的很多函
阅读全文
摘要:数位动态规划是一类特殊的动态规划,它的形式一般为:给定下界$l$和上界$r$,求$[l,r]$之间满足某一要求的元素个数。一般来说,数位动态规划有一个特定的状态表达:$f[pos][stats][bound]$。简单对$pos$,$stats$,$bound$做一个说明: Pos: 第一维表示现在处
阅读全文
摘要:题目描述: 如果字符串中不含有任何 'aaa','bbb' 或 'ccc' 这样的字符串作为子串,那么该字符串就是一个「快乐字符串」。 给你三个整数 a,b ,c,请你返回 任意一个 满足下列全部条件的字符串 s: s 是一个尽可能长的快乐字符串。 s 中 最多 有a 个字母 'a'、b 个字母 '
阅读全文
摘要:一些预备知识: 欧拉路径: 如果在一张图中,可以从一点出发遍历所有的边,那么遍历过程中的这条路径就叫做欧拉路径。如果这条路径是闭合的,那就称为欧拉回路。简单地说,如果一张图可以被“一笔画”,那么“一笔画”的那个轨迹就叫做欧拉路径。 欧拉图判定定理: 含有欧拉回路的图称为欧拉图,含有欧拉路径的图称为半
阅读全文
摘要:题目描述: 对于一个具有树特征的无向图,我们可选择任何一个节点作为根。图因此可以成为树,在所有可能的树中,具有最小高度的树被称为最小高度树。给出这样的一个图,写出一个函数找到所有的最小高度树并返回他们的根节点。 题解: 首先要确定一个结论,最小高度树最多只有两个。可以用反证法证明,假设有n(n>=3
阅读全文
摘要:题目描述: 你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1] 给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习? 题解
阅读全文

浙公网安备 33010602011771号