- 博客(24)
- 资源 (4)
- 收藏
- 关注
原创 flask (python web app framework)
1. db migration errorref: alembic tutorial problem: raise util.CommandError(“No such revision ‘%s’” % id_) alembic.util.CommandError: No such revision ‘38c4e85512a9’solution: 1. rm migration direct
2015-09-11 14:45:27
1056
原创 LAMP Yii framework
安装: 网站:http://www.yiiframework.com/doc-2.0/guide-start-installation.html 安装之后需要把默认的apache2 it works!网页换成yii framework的网页。 用到:http://coolestguidesontheplanet.com/forbidden-403-you-dont-have-permissi
2015-07-09 20:43:23
489
原创 如何用 gitlab 做 code review
首先参考: git 简易教程(足够日常使用了)–by 廖雪峰 git远程操作 – by 阮一峰1. git 基础概念workspace / working directory:工作区 就是你在电脑里能看到的目录index / stage:暂存区 更改通过git add到了这里repository:版本库 git commit更改到这里 (之前三个概念可参照工作区、暂存区 和 版本库
2015-05-08 21:49:17
15922
原创 c++ copy constructor, operator=
参考Copy constructors, assignment operators, and exception safe assignment1. copy constructorThe copy constructor is called whenever an object is initialized from another object of the same type, which i
2015-04-16 20:57:58
667
原创 c++继承
1. vtable在构造子类object的时候,首先调用基类构造函数,如果基类中有virtual function,那么基类构造函数会建一个虚函数表( vtable ) 。如果子类中override了基类中的函数,那么会用这个函数地址覆盖原来vtable中的entry。这样在使用SubClass *s = new SubClass();BaseClass *base = s;时,base->foo
2015-04-16 15:58:45
460
原创 数值计算
1. Divide Two Integers思路: 由于不可以用*, /, %运算,我们只能用+, -还有移位运算。首先,如果我们用减法,依次从被除数中减掉除数,那么是O(N)的时间复杂度。那么有没有更快的方法吗?我们试着用 “基”的思想来试一下:假设我们需要计算63 / 5:首先,我们找到最大的基:5*1, 5*2, 5*4, 5*8, 5*16(超过),因此我们选5 * 8为最大的基;我们从
2015-04-14 14:13:16
445
原创 search and sort [2]
Median of Two Sorted Arrays我们把问题简化,找两排好序数组的第k小的数。从前向后取,直到取到第k小的数,时间复杂度O(k)“`c++ class Solution { public: double findMedianSortedArrays(int A[], int m, int B[], int n) { //merge first
2015-04-02 15:36:23
434
转载 Linux命令
cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况。cat主要有三大功能:一次显示整个文件:cat filename从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.将几个文件合并为一个文件:cat file1 file2 > file示例legend0011@ubuntu:~/coding
2015-04-02 14:52:28
384
原创 Coding本能
1. Array取下标取下标的时候一定先check是不是越界2. 整形溢出取mid时int mid = (l + r) / 2; //(l + r)有可能越界int mid = l + (r - l) / 2; //应该这么写Reverse Integer 注意反过来的时候不要溢出。3. Linked list 删除节点Link list删除一个节点(之前或之后),一定要将上个节点的
2015-03-24 19:06:30
368
原创 Vim编程初探
1. vim的使用参考 简明vim练级攻略2. vim编完程序之后。。。参考 Linux(ubnutu)下编写运行c,c++程序的方法gcc+gdb(图示)
2015-03-24 18:54:20
355
转载 ubuntu14.04安装rails出现的一些问题
1. autolibs 错误转载自(http://www.web520.cn/archives/3026) 这篇文章主要介绍ubuntu14.04安装ruby-2.2.0出现的一些问题,文章内容主要包括关于ubuntu14.04,ruby-2.2.0,安装,问题等,下面开始文章正文。 要安装ruby,首先要安装rvm,借助rvm安装ruby rvm 的全称是 Ruby Version Mana
2015-03-19 21:50:58
764
原创 BST中序遍历(Iterative)
首先来看下 recursive 的版本: void inorder(TreeNode* node) { if (node != NULL) { inorder(node->left); //左子树 print(node->val); //当前节点 inorder(node->right); //右子树
2015-03-19 17:11:17
4353
原创 Tricky Problems
1. Container With Most Water思路:用i代表选择的left line, j代表right line 1. 可以枚举,O(n^2), 但是在枚举的过程中可以跳过一些情况: 固定i,如果height[j] 比之前的 也就是height[j+1]要小,那么这步没必要看,因为肯定没有刚才的那个[i, j+1] contain的水多 固定j,如果height[i]比之前的 也就
2015-03-17 13:44:45
529
原创 recursive
须知参数列表的那些参数是上层传到下层的,是下层需要知道的关于上层节点的信息;返回值是下层传回上层的,是上层需要知道的下面所有节点的情况信息(例如,左子树的信息);当参数中有引用时,注意此参数无副本,需要在整个流程中维护此参数的一致性,例如push_back()之后记得在return前pop_back()1. 体会返回值和参数在递归中 如何使用1.1 path sum Given a bin
2015-03-16 20:01:43
696
原创 Tree[0]
Tree Traversal – preorderrecursiveclass Solution {public: vector<int> preorderTraversal(TreeNode *root) { vector<int> rs; visit(rs, root); return rs; } void visit(ve
2015-03-16 15:38:45
453
原创 线性代数复习1. 视角
1. 我们看矩阵的方式:1.1 矩阵是“变换”,或者是“坐标系”简单来讲,一个A左乘一个矩阵X相当于在X身上施加行变换,A右乘一个矩阵X(XA)相当于对X施加列变换。”坐标系“的含义是Ax = b, 其中A为矩阵, x, b为向量,这个算式当然可以理解为A对x进行行变换,但是也可以理解为,在坐标系A的衡量下,一个神奇的东西的坐标为x,在I(单位矩阵)的衡量下,这个神奇的东西的坐标为b。具体
2015-01-19 13:57:03
529
转载 特征值 特征向量, 你怎么看?
转载自 科学网 孙菲菲长时间以来一直不了解矩阵的特征值和特征向量到底有何意义(估计很多兄弟有同样感受)。知道它的数学公式,但却找不出它的几何含义。 矩阵乘以一个向量的结果仍是同维数的一个向量,因此,矩阵乘法对应了一个变换,把一个向量变成同维数的另一个向量,那么变换的效果是什么呢?这当然与方阵的构造有密切关系,比如可以取适当的二维方阵,使得这个变换的效果就是将平面上的二维向
2015-01-13 14:42:11
1804
转载 vmware ubuntu上不了网的解决办法
在配置的时候,虚拟机有三种方法上网,一个是NAT 一个是host-only, 一个是bridge。我主要是试过两种,简单的介绍一下:(我是xp下装的虚拟机,虚拟机里面是redhat就简单的用redhat代替虚拟机,xp代替真机。)NAT 方法:它的特点是主机的虚拟网卡和虚拟机里面的网卡都不用设置(默认为自动获得) 也就是你不用管虚拟机里面的ifcon
2015-01-09 15:17:21
4312
1
原创 DP[1]
1. Best Time to Buy and Sell Stock如果用枚举的话就是枚举所有的买点和卖点。如果用DP:mini[i]代表 i之前的最小值, rs[i]表示i为卖点的最优解(以i为结尾的最优解),那么rs[i] = prices[i] - mini[i];当然我们不必用数组mini和rs,用一个int足矣int maxProfit(vector &prices)
2014-12-11 15:36:44
415
原创 DP[0]
DP都是bottom up的,也有人用top down + cache的做法, top down就是递归地去做(当然你也可以用循环写,然后自己维护栈)。要想使用DP,一定要有最优子结构性质。此外,如果求的是从最优解算出的最优值,特别适合DP,但如果还要求最优解,那么就得有备忘录了,备忘录占用的空间复杂度比较高,使得此时的DP不那么有优势了。1. Minimum Path Sum
2014-12-10 15:00:50
496
原创 DFS
1. Combination Sum结构:1.1 有重复的push_back()和 pop_back()操作class Solution {private: void visit(vector &candidates, int i, int sum, int target, vector &tmp, vector> &rs) { //特别注意边界条
2014-12-09 19:16:37
422
原创 Array[1] n sum 问题
1. Two Sum由于要返回index+1, 用unordered_map存elem到index的映射,注意这样的testcase:[2,3,5], 4class Solution {public: vector twoSum(vector &numbers, int target) { unordered_map num2index; fo
2014-12-09 15:33:48
498
原创 Array[0] 利用i,j简化代码
1. Remove Element走一遍A[],把符合要求的元素写到jclass Solution {public: int removeElement(int A[], int n, int elem) { int j = -1; for (int i=0; i<n; ++i) { if (A[i] != elem)
2014-12-09 12:17:51
610
Notes on _Challenges in Building Large-Scale Information Retrieval Systems_
2018-10-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人