
算法导论
littletomatodonkey
work and life balance
展开
-
C++三种线性排序算法
基数排序基于比较的排序方法无法做到在O(N)O(N)O(N)的时间复杂度内完成对数据的排序,但是基数排序不是基于比较的排序方法。基于排序的原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的平均时间复杂度为O(dN)O(dN)O(dN),d是数据的位数,空间复杂度是O(kN)...原创 2018-05-16 10:34:04 · 522 阅读 · 0 评论 -
百度2019届算法岗秋招编程-逆序对数
题目给一个数组,可以将其中一个数字转化为0,求转化后的逆序对之和的最小值以及此时转化的下标。思路:这题最主要的就是求每个数字的到当前状态时的逆序对数(修改前和后),之前想的是用multiset存储数字,用upper_bound求比当前值大的数,用distance去计算逆序对的个数,但是后来发现distance在这种不可随机访问的容器中的时间复杂度为O(N),果断超时,只过了60%左右的cas...原创 2018-09-26 22:51:53 · 797 阅读 · 0 评论 -
根据先序遍历和中序遍历重建二叉树
题目根据先序遍历和中序遍历重建二叉树具体的题目链接见:https://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6?tpId=13&tqId=11157&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-int...原创 2018-09-26 16:51:39 · 491 阅读 · 0 评论 -
小米秋招笔试-算法(2019届)
小米秋招笔试-算法(2019届)第一题题目是输入一个数组以及一个数,确定这个数是否能由这个数组中的某些数相加得到,输出1或者0,表示可行或不可行。思路:先排序,再用bfs。代码 #include <cstdlib> #include <string> #include <iostream> #include &am原创 2018-09-20 22:01:00 · 4375 阅读 · 0 评论 -
几个岛-滴滴出行编程题
题目链接https://www.nowcoder.com/questionTerminal/1ecd3d9e09664cde94919b65ea06b47c思路比较直接,就是用vector去存储每个连通区域,连通区域内的像素点用unordered_set存储,方便之后的查找每次新来一个像素点的时候,就在所有列表中找他是否属于某个邻域,如果是的话,则将所有的这些邻域进行合并。...原创 2018-09-16 19:41:06 · 769 阅读 · 0 评论 -
CIDR去重-滴滴笔试题
题目链接https://www.nowcoder.com/questionTerminal/6d76dfaf92cf478b93b60dd277b94ffa?toCommentId=1871859思路和考点这道题主要是对字符串进行分割,解析,然后将ip逆序保存,判断位数较少的是否被位数较多的数包围。思路比较简单,就是实现比较麻烦。代码#include <cst...原创 2018-09-15 19:44:23 · 697 阅读 · 0 评论 -
求出字符串中最长的数字串的长度
问题1求出字符串中的最长连续数字串的长度代码#include <iostream>#include <vector>#include <math.h>#include <random>#include <limits>#include <string>using namespace std;int ...原创 2018-08-02 14:38:40 · 1200 阅读 · 0 评论 -
python-EM求解混合高斯分布
python-EM求解混合高斯分布参考链接https://blog.youkuaiyun.com/sinat_33761963/article/details/53520898https://zhuanlan.zhihu.com/p/26328340代码import numpy as np def Normal(x,mu,sigma):#一元正态分布概率密度函数 re...原创 2018-06-27 21:19:21 · 1930 阅读 · 0 评论 -
贝壳找房计数比赛之排列组合计算
排列组合计算-涉及到溢出与取模公式递归,使用Cmn=Cmn−1+Cm−1n−1Cnm=Cn−1m+Cn−1m−1C_n^m=C_{n-1}^m+C_{n-1}^{m-1}进行求解,这种方法在数据量很小时,会有效,但是在n很大时,效率很低,在这里代码typedef long long ll;int MOD = 1e9 + 7;ll getAcc(ll num, ll choo...原创 2018-06-17 20:27:13 · 736 阅读 · 0 评论 -
商汤秋招-编程题
题目只做了第一题,是给若干个confidence以及groundtruth label,计算在不同recall下的precision。思路:将confidence降序排列,依次降低阈值,直到所有的正例都被召回,计算各个不同召回率下的precision即可。代码#include <cstdlib>#include <string>#include <io...原创 2018-09-27 09:24:45 · 559 阅读 · 0 评论