- 博客(13)
- 收藏
- 关注
原创 lintcode微软
156.合并区间/** * Definition of Interval: * classs Interval { * int start, end; * Interval(int start, int end) { * this->start = start; * this->end = end; * }...
2019-02-27 16:18:30 269
原创 微软面试题解
1.如果有64个元素(不重复),那么有多少子集? 全部打印且不能占用额外的内存空间。做法:有2^64种情况。不能占用额外空间的话,深搜和广搜都不可以,一个调用栈和使用队列都需要额外的内存空间。因此可以考虑二进制的做法,64位刚好是long int。class Solution {public: void permunation(vector<int> nums) { i...
2019-02-25 17:29:03 350
原创 20190220头条面试反思
1.机器学习算法的参数更新推导;https://blog.csdn.net/jiachen0212/article/details/803010322.网络过拟合的处理方法:https://www.cnblogs.com/bonelee/p/8993812.html https://blog.csdn.net...
2019-02-21 10:33:10 212
原创 20190219sensetime面试反思
1.detection原理(fasterRCNN,FPN等候选框如何形成);https://blog.csdn.net/zziahgf/article/details/79311275关于boundingbox的细节问题:https://blog.csdn.net/zijin0802034/article/details/776854382.反卷积的具体原理:反卷积并不是卷积的逆运算,而是...
2019-02-20 10:33:44 278
原创 boosted tree
大牛文章:https://blog.csdn.net/starzhou/article/details/51195211文章详解:https://zhuanlan.zhihu.com/p/26214650
2019-02-18 15:58:09 159
原创 重定义优先队列
一.如果是正常的大根堆,使用priority_queue<int> pq; 二.如果是正常的小根堆,使用priotity_queue<int,vector<int>,greater<int>> pq;三.其他情况都是按照大根堆重定义 operater <,此时如果返回true,说明前值优先级低于后值。1. 声明:priority_...
2019-02-13 22:52:59 385
原创 九章算法第七课,两根指针&TwoSum问题
539. 移动零class Solution {public: void moveZeroes(vector<int> &nums) { if (nums.size()==0) { return; } //找到第一个是0的位置; int i; for (i=0;i<nums.size();i++) {...
2019-02-11 23:27:11 380
原创 九章算法第八课,数据结构&设计迭代器&优先队列
575.字符串解码这个题用递归比较好做,需要注意的是如何找到前括号匹配的后括号(并不是找到第一个后括号就是对的),还要注意index移动的问题。class Solution {public: string expressionExpand(string &s) { if (s=="") return s; string ...
2019-02-11 23:18:07 360
原创 九章算法第九课,动态规划
动态规划的四步:定义状态,设计状态转移方程,初始化边界,确定答案。109. 数字三角形这个形状和树的结构相似,可以利用分治的思路求解。但是会超时,时间复杂度O(n^2)。class Solution {public: int minimumTotal(vector<vector<int>> &triangle) { int n=...
2019-02-10 15:07:07 1134
原创 C++生成随机数
void main() { srand((int)time(0)); //初始化时间种子 rand();//生成从0到INT_MAX之间的数; rand()%b;//生成[0,b)之间的数; a+rand()&b;//生成[a,b)之间的数;} ...
2019-02-07 15:22:08 144
原创 排序算法的比较
快排和归并1.思想:都使用了分治的思路。归并是先局部有序再组合起来,快排是先大体有序(前半部分小于某个数,后半部分大于某个数)在局部排好。2.时间复杂度:归并是严格的NlogN;快排平均时间复杂度NlogN(因为标杆的数不一定是在最中间),最坏有可能退化到N^2。3.空间复杂度:归并需要额外一个空间用来合并,快排可以原地排序。4.稳定性:快排不稳定,归并可以稳定。归并排序:cla...
2019-02-03 23:00:48 113
原创 九章算法第六课,链表和数组
450. K组翻转链表把问题分步处理:1.考虑一个函数实现反转k个数,只要外面加个循环就能解决问题 2.反转k个数分三步A.记录首尾 B.翻转 C.首尾连接class Solution {public: ListNode * reverseKGroup(ListNode * head, int k) { if (k==0 || head==NULL) return...
2019-02-03 13:36:25 250
原创 九章算法第五课,DFS
135. 数字组合注意:1.可以重复使用一个数字(每次搜索还可以从当前位置开始) 2.但是不能重复(上来先要排序去重)combination.push_back()之后记得要pop_back()。class Solution {public: vector<vector<int>> combinationSum(vector<int> &am...
2019-02-01 16:25:17 470
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人