- 博客(183)
- 收藏
- 关注
原创 852. IP转化成CIDR
https://www.lintcode.com/problem/ip-to-cidr/description这个题有点厉害,看了一下题解才明白啥意思:https://www.cnblogs.com/grandyang/p/8440087.htmlclass Solution {public: long long split(string &ip) { ...
2019-09-01 17:38:47 399
原创 hulu笔试
1417.称重问题将金币尽量分成均匀三堆。如果正好平分就正常操作,余一个就是(3k,3k)上秤,但是最坏的情况是要找的金币在3k+1里,余两个就是(3k+1,3k+1)上秤,最坏的情况还是在3k+1里。class Solution {public: int minimumtimes(int n) { // Write your code here ...
2019-08-28 18:17:58 591
原创 阿里面试反思
线程和进程:https://blog.csdn.net/RUN32875094/article/details/79515384线程共享的内容包括:1.进程代码段2.进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)3.进程打开的文件描述符4.信号的处理器5.进程的当前目录和6.进程用户ID与进程组ID线程独有的内容包括:1.线程ID2.寄存器组的值3.线...
2019-08-27 11:43:35 258
原创 网易笔试
1.牛牛找工作这个问题一开始的思路是将工作按报酬从高到低排序,然后用小伙伴的能力依次匹配报酬,但是这样时间复杂度会超。#include <iostream>#include <vector>#include <map>#include <algorithm>using namespace std;struct job { i...
2019-08-19 19:30:09 236 1
原创 lintcode亚马逊
768.杨辉三角class Solution {public: vector<vector<int>> calcYangHuisTriangle(int n) { vector<vector<int>> res; vector<int> last; last.push_bac...
2019-08-14 17:59:48 182
原创 Alias method/别名采样方法
https://blog.csdn.net/haolexiao/article/details/65157026
2019-08-13 15:23:20 492
原创 2020旷视提前批面试
一面:1.动态规划算法2.用tf写iou:https://blog.csdn.net/u014061630/article/details/82818112非极大值抑制:https://www.cnblogs.com/makefile/p/nms.html(https://www.jianshu.com/p/d2c7f6d9708f比较清楚)二面:LSTM:https://blog.c...
2019-08-13 10:11:43 350
原创 集成学习、adaboost、GBDT
集成学习:http://www.cnblogs.com/pinard/p/6131423.htmladaboost:http://www.cnblogs.com/pinard/p/6133937.htmlGBDT:https://www.cnblogs.com/pinard/p/6140514.html
2019-04-19 16:30:24 133
原创 867. 四键键盘
题目描述:https://www.lintcode.com/problem/4-keys-keyboard/description借鉴了2keyboard的思路,N次操作最少能打出N个A,且如果最后的一组操作是acv(vvv...)打出的A的个数比干敲多之后,先用acv再干敲肯定是不划算的(因为如果把干敲放在acv前面,打出来的肯定更多)。那么我们要考虑的就是最后一个acvvvv....,v多...
2019-04-02 10:20:34 945
原创 股票买卖问题
题解:https://segmentfault.com/a/1190000006672807121.Best Time to Buy and Sell Stock求一个数列中的最小值和最大值,要求最小值要在最大值之前class Solution {public: int maxProfit(vector<int>& prices) { if...
2019-03-27 12:23:32 260
原创 广告算法名词解释
【广告主价值】=bid*转化数,从收费方来看是广告主应付的费用。【计费比】=广告主总付费/广告主价值,收费方希望计费比为1,就是广告主的总付费应该等于他应该付的费用(因为是按bid竞价,按send计费,转化数只是一个预估值)。计费比大于1相当于广告主亏钱,小于1则平台方亏钱。【ecpm】对于平台方而言每千次展示预计能收费多少...
2019-03-22 16:05:23 8457 2
原创 背包问题
92.背包问题class Solution {public: int backPack(int m, vector<int> &A) { vector<vector<int>> f(A.size(),vector<int> (m+1,0)); //f[i][j]表示放到第i件物品、包内容量为j...
2019-03-17 20:11:46 160
原创 Deep&Wide Learning
论文解释:https://blog.csdn.net/u010352603/article/details/80590129#11-memorization-和-generalization https://xueqiu.com/9217191040/110449554训练方法:小批量随机梯度下降https://blog.csdn.net/xiang_fr...
2019-03-08 16:57:26 171
转载 Factorization Machines 因子分解机
https://blog.csdn.net/asd136912/article/details/78318563
2019-03-07 17:40:20 223
原创 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 303
原创 微软面试题解
1.如果有64个元素(不重复),那么有多少子集? 全部打印且不能占用额外的内存空间。做法:有2^64种情况。不能占用额外空间的话,深搜和广搜都不可以,一个调用栈和使用队列都需要额外的内存空间。因此可以考虑二进制的做法,64位刚好是long int。class Solution {public: void permunation(vector<int> nums) { i...
2019-02-25 17:29:03 360
原创 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 229
原创 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 289
原创 boosted tree
大牛文章:https://blog.csdn.net/starzhou/article/details/51195211文章详解:https://zhuanlan.zhihu.com/p/26214650
2019-02-18 15:58:09 177
原创 重定义优先队列
一.如果是正常的大根堆,使用priority_queue<int> pq; 二.如果是正常的小根堆,使用priotity_queue<int,vector<int>,greater<int>> pq;三.其他情况都是按照大根堆重定义 operater <,此时如果返回true,说明前值优先级低于后值。1. 声明:priority_...
2019-02-13 22:52:59 399
原创 九章算法第七课,两根指针&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 389
原创 九章算法第八课,数据结构&设计迭代器&优先队列
575.字符串解码这个题用递归比较好做,需要注意的是如何找到前括号匹配的后括号(并不是找到第一个后括号就是对的),还要注意index移动的问题。class Solution {public: string expressionExpand(string &s) { if (s=="") return s; string ...
2019-02-11 23:18:07 379
原创 九章算法第九课,动态规划
动态规划的四步:定义状态,设计状态转移方程,初始化边界,确定答案。109. 数字三角形这个形状和树的结构相似,可以利用分治的思路求解。但是会超时,时间复杂度O(n^2)。class Solution {public: int minimumTotal(vector<vector<int>> &triangle) { int n=...
2019-02-10 15:07:07 1156
原创 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 161
原创 排序算法的比较
快排和归并1.思想:都使用了分治的思路。归并是先局部有序再组合起来,快排是先大体有序(前半部分小于某个数,后半部分大于某个数)在局部排好。2.时间复杂度:归并是严格的NlogN;快排平均时间复杂度NlogN(因为标杆的数不一定是在最中间),最坏有可能退化到N^2。3.空间复杂度:归并需要额外一个空间用来合并,快排可以原地排序。4.稳定性:快排不稳定,归并可以稳定。归并排序:cla...
2019-02-03 23:00:48 127
原创 九章算法第六课,链表和数组
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 266
原创 九章算法第五课,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 487
原创 九章算法第四课,BFS
69. 二叉树的层次遍历class Solution {public: vector<vector<int>> levelOrder(TreeNode * root) { vector<vector<int>> res; queue<TreeNode*> h; if (root==NULL) return...
2019-01-21 13:52:02 376
原创 九章算法第三课,二叉树与分治法
【背诵】二叉树的递归和非递归遍历方法97. 二叉树的最大深度maxDepth返回以当前root为根节点的树的最大深度,出口为叶子的下一层节点深度为0。class Solution {public: int maxDepth(TreeNode * root) { if (root==NULL) return 0; int left=maxDept...
2019-01-14 14:49:29 585
原创 九章算法第二课,二分法
14.二分查找注意是找第一个位置,所以当mid==target的时候,说明最终答案应该在此区间之前。循环终止的条件时(h+1<r),最后需要做一次double check。mid写作(t-h)/2+h是为了防止直接相加越界。class Solution {public: int binarySearch(vector<int> &nums, int t...
2019-01-06 21:10:37 719 1
原创 九章算法第一课,入门
17. 子集 https://www.lintcode.com/problem/subsets/descriptionclass Solution {public: vector<vector<int>> subsets(vector<int> &nums) { vector<vector<int>>...
2019-01-02 14:20:37 748
原创 337. House Robber III的C++解法(递归+dp)
题目描述:https://leetcode.com/problems/house-robber-iii/一开始被描述中的例子误导了,觉得应该只能打劫间隔的一层,所以写了一个层次遍历,计算每一层的和再决定怎么打劫。后来发现是不对的,因为可以打劫左子树而不打劫右子树,如树[2,7,1,null,4,null,8]对于二叉树中的某一个节点i,它也有偷与不偷这两个选项,若偷,则两个子节点不能偷;否...
2019-01-01 22:46:52 205
原创 213. House Robber II的C++解法(dp)
题目描述:https://leetcode.com/problems/house-robber-ii/在House Robber的基础上进行考虑,如果打劫第0间,就不能打劫第n间,相当于求解[0,n-1]的最大值;如果打劫第n间,就只能从第1间开始打劫,相当于求解[1,n]的最大值,最后比较这两个值哪个大即可。class Solution {public: int rob(ve...
2019-01-01 22:04:43 234
原创 198. House Robber的C++解法(dp)
题目描述:https://leetcode.com/problems/house-robber/ https://www.lintcode.com/problem/house-robber/description第i间房屋能打劫得到的最大金额有两种可能,1.不打劫,金额和i-1间房屋相同;2.打劫这一间,最大金额是这一间的钱和打劫到第i-2间能得到的最多...
2019-01-01 21:15:33 213
原创 650. 2 Keys Keyboard的C++解法(dp)
题目描述:https://leetcode.com/problems/2-keys-keyboard/dp真的很神奇啊。易见:res[1]=0res[2]=2res[3]只有一种方法即在一个A的基础上cvv,所以res[3]=res[1]+3res[4]有两种方法:1.在一个A的基础上cvvv,res[1]+4 2.在AA的基础上cv,res[2]+2可以看出打出n个A的方法只要找出...
2018-12-28 22:49:59 320
原创 153. Find Minimum in Rotated Sorted Array(二分法)
题目描述:https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/二分法,如果某一半是单增的,那么最小值一定在另一半或者这一半的头位置。class Solution {public: int findMin(vector<int> &nums) { int head...
2018-12-28 17:04:27 94
原创 48. Rotate Image的C++解法
题目描述:https://leetcode.com/problems/rotate-image/旋转方法如图,第一次旋转第一圈的,第二次旋转第二圈的,所以i的变化范围是[0,n/2),j的变化范围是[i,n-1-i)。然后找一下规律即可。class Solution {public: void rotate(vector<vector<int>>&a...
2018-12-28 16:38:13 220
原创 114. Flatten Binary Tree to Linked List的C++解法
题目描述:https://leetcode.com/problems/flatten-binary-tree-to-linked-list/这个题的关键是找到左右子树的最右下角的位置,因为这将是下一次接子树的起点。下面这个方法用了递归,假设左右子树将在helper中接好,并且helper返回的是接好的子树的最右下角的位置。class Solution {public: void...
2018-12-27 13:14:45 208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人