自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 caffe_2016版本+windows+vs2013+matlab接口配置

因为要写一个resnet架构,同时拥有HyperColumn功能以及RNN或者LSTM架构的Detection框架。正好caffe最新版拥有了RNN、LSTM的模块,同时支持最新的cudnn。基于这些要求,我就在happynear的基础上,重新配置了一个属于自己的windows版本的caffe。1、首先是第三方库的提供。我们就使用happynear提供的就可以了。这里附上链接:https://

2016-11-01 22:43:44 1546

原创 148 Sort List

模板题。这个题的要求是让我们找出一种时间复杂度是O(nlog(n)),空间复杂度是常数级的。这个就可以这么办,使用slow-fast技术将链表分成两部分,所谓slow-fast技术是指,快指针走两个,慢指针走一个,当快指针到头了,慢指针恰好指向中心。这样我们就不需要额外的空间了。代码如下:class Solution {public: ListNode *sortList(Lis

2016-08-15 18:54:55 450

原创 leetCode 149. Max Points on a Line

很简单,看线段的斜率就可以了。/** * Definition for a point. * struct Point { * int x; * int y; * Point() : x(0), y(0) {} * Point(int a, int b) : x(a), y(b) {} * }; */class Solution {publi

2016-08-15 18:53:19 322

原创 LeetCode 69. Sqrt(x)

二分法求开方,比较简单,如果找到更加快速的方法就更好了。有如下几种,迭代牛顿法、另外一种有cramack提出的办法。这里只列出我的二分法,其他方法我专门找一次总结。 int fun(int c,int x) { if(x/c==c)return 0; return (x/c)>c?-1:1; } int mySqrt(int x

2016-08-15 18:49:21 324

原创 LeetCode 108. Convert Sorted Array to Binary Search Tree

二叉搜索树的建立是从两边来的。所以分左右递归来建立。代码如下:class Solution {public: TreeNode* generateBST(int left, int right, vector& num) { if (left > right) return nullptr; else if (left

2016-08-13 22:05:03 269

原创 LeetCode 45. Jump Game II

贪心的题目。使用的每次找自己周围最大可达范围,如果最大可达范围是自身,那就跳到最大可达的位置,如果不是,就跳到最大的位置。class Solution {public: int jump(vector& nums) { int len = nums.size(); if(len==1)return 0; int footstep=0,

2016-08-13 22:00:20 265

原创 LeetCode 99. Recover Binary Search Tree

首先想到的是,中序遍历,然后把数组的内容再赋值给原来的树。题目还给了一种问题,如果使用O(1)空间复杂度该怎么做。。。。这个没考虑出来class Solution {public: int c; void Inorder(TreeNode* root,vector &r) { if(!root)return ; Inorder(ro

2016-08-12 20:06:27 207

原创 LeetCode 106 Construct Binary Tree from Inorder and Postorder Traversal

这个是一道深度优先搜索的题目。我们如何处理中序遍历和后序遍历的数组,使其能够表示成一颗二叉搜索树呢?我是这样处理的。首先,我们知道后序遍历的数组。从后到前是树根-子树根-子子树根,好了,有了这个递归的顺序我们就可以执行了。首先取出树根节点,在中序遍历的数组中寻找这个节点所在的位置,那么这个位置的左侧就是左子树,右侧是右子树。根据这个道理再递归求解就可以了。唯一需要注意的是开始和

2016-08-12 19:56:28 376

原创 LeetCode 44. Wildcard Matching

同样是一道贪心的题目。但是我首次写的代码是用的回溯,结果超时了。问题可能就出在这个回溯上。所以就写了一个数组表示的。AC。class Solution {public: bool isMatch(string s, string p) { int presp,press; bool flag = false; int i,j;

2016-08-12 19:53:48 228

原创 LeetCode 135. Candy

这个题目难度很小,也是一道贪心的题目。怎么贪呢?就按照题目要求来,可是遇到这个问题怎么办:后一个比前一个小,但是后一个却是一个大于它之后数的。这个会导致选择困难,你没法选出一个优解。我的解决办法是,排序,然后对排序后的序列的索引一个一个找周围的贪心解。这样就可以很好的,解决这个问题。其实还有一种更简单的办法,就是前向,找前一个比后一个大的计算好数组后,在后向找后一个比前一个大的。就可以了。我的代码

2016-08-12 19:49:58 309

原创 LeetCode 330. Patching Array

贪心的题目,具体怎么贪心就有说道了。题目的要求是是对一个数组增加一个补丁,使得增加后的数组可以加和表示所有从1到n的数。我们可以知道如果一个数比之前的几个累加和还要大的话,说明这个数不能由前几个数来表示。所以根据这个知识,我们可以定义一个累加和变量,专门来记录累加和。比如说例子中的1,5,10,我们定义初始的累加和是1,因为从1开始嘛。1+1=2算法就和上述说的是一样的。cla

2016-08-12 19:39:50 229

原创 LeetCode Validate Binary Search Tree

这个题挺好的。考察了中序遍历。用中序遍历就可以不用考虑子树的问题。中序遍历后查看数组是否递增就可以了。我第一遍做没有想到。以为是直接深搜,然后就卡在子树问题上了。。class Solution {public: void judge(TreeNode* root,vector&p) { if(!root)return; judge(

2016-08-10 20:46:22 241

原创 LeetCode 95. Unique Binary Search Trees II

这道题是一道关于Tree的题目。但是表示把所有情况的放入到一个vector里,我是真的没想好怎么搞。于是找了一个答案,豁然开朗。把所有左右子树,放入到一个vector里。最后把根节点放入到一个vector,是vector递归的递归。思路很巧妙。如何处理二叉搜索树,对于子树也满足左子树小于根节点,右子树也大于根节点,这个很简单。只要start小于end就要,不是得就剪枝掉。代码如下:

2016-08-10 20:29:48 254

原创 leetcode scramble string

这个题比较难。如果使用动态规划不是太好理解。我做了第一遍没有思路,直接找的答案。是这样的。我们可以把问题分解成简单的问题来看:1、如果S1和S2的大小均为1,结果是两个串的相同比较。2、如果S1和S2的大小为2,那么互相交换,看下是否是相同。那么问题推广为大小为n的话,我们把S1分成A1、A2,S2分成B1 B2。我们只需要递归来看{A1,A2}与{B1,B2}两个部分是否

2016-08-10 20:21:54 379

原创 LeetCode Maximal rectangle

动态规划。我自己第一遍做没做出来,上网搜了一下答案,发现是用的之前合并方块的思路做得。就是这样。每次统计每行累计1的个数,然后计算出每行的最大直方图面积。那么代码是如下所示:public class Solution { public int maximalRectangle(char[][] matrix) {if(matrix==null || matrix.length

2016-08-10 20:17:00 245

原创 LeetCode 100 Same Tree

很简单的深搜。代码写得我很得意。用到了之前学的一些东西。class Solution {public: bool isSameTree(TreeNode* p, TreeNode* q) { if(!p||!q) return !p&&!q; if(p->val!=q->val) {

2016-08-08 21:25:46 213

原创 LeetCode 96 Unique Binary Search Trees

这道题很简单是catalan数,只要知道catalan数的递推公式就可以了。class Solution {public: long long numTrees(int n) { long long *h = new long long[n+1]; h[0]=1;h[1]=1; for(int i=2;i<=n;i++)

2016-08-08 21:23:59 200

原创 LeetCode 72 Edit Distance

我写了两种方案的。一种是用的递归方式,结果超时了。一种是直接用数组模拟删、替换、插入操作。删操作对应的是DP[i][j-1],替换操作对应的是DP[i-1][j-1],插入操作对应额的是DP[i-1][j].此外要注意初始化的情形,如果word1是0,那么对应的最小步骤是word2的长度;如果word2是0,那么对应的最小步骤是word1的长度。OK。解法一:超时的那种。。。。class

2016-08-08 21:18:40 279

原创 LEETCODE SQL题目 180. Consecutive Numbers

这个题目有个小技巧,就是使用了SQL里的用户自定义函数@同时有个很值得注意的点是,()后加name命名用户自定义视图。SELECT DISTINCT Num AS ConsecutiveNums FROM ( SELECT Num, COUNT(Rank) AS Cnt FROM ( SELECT Num, @curRank := @curRank + IF

2016-08-03 21:22:22 397

原创 leetcode SQL题目 177. Nth Highest Salary

MYSQL有一个很有用的函数LIMIT 是指挑选出第N个开始,共M个元素。所以根据这个函数可以得到:这里要注意,SQL声明变量是在Begin之后。DECLARE是声明,SET是赋值CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INTBEGIN DECLARE M INT; SET M=N-1; R

2016-08-03 21:19:30 354

原创 LeetCode 63. Unique Paths II

这个是一道递推题目,之所以归结到动态规划标签里,是因为递归和动态规划有着很大的联系性。这里要注意两点:1、把障碍的地方设置为02、当障碍在最左边和最上边时,左边和上边的数组一律置为0代码如下: int uniquePathsWithObstacles(vector>& obstacleGrid) { int m = obstacleGrid.size(),n =

2016-08-03 21:15:56 250

原创 leetcode 32 Longest Valid Parentheses

这是一道纯粹的动态规划题目。我之前考虑成了二维dp了。dp方程是如果前一个的括号是‘(’,那么如果j=i+1+dp[i+1]步之后的括号是‘)’那么dp[i]=dp[i+1]+2;同时别忘了考虑到并列的这种情形,所以要加上dp[i]+=dp[j+1];代码如下: int longestValidParentheses(string s) { int len =

2016-08-03 21:14:00 271

原创 LeetCode10 Regular Expression Matching

说是动态规划,实际上是一道回溯暴力搜索。注意一点就可以了。*的数量可以是0、1、2、3、4.我们只要遍历出当*是0的时候,后续的组合是不是符合要求的。这样我们才可以满足1之后的情形bool isMatch(char* s, char* p) { if (s == NULL || p == NULL) return false; if (*p == '\0') ret

2016-08-03 21:09:32 485

原创 网易内推笔试题2017机器视觉算法工程师

这个岗位是我感觉良好报的,感觉难度很大。之后就不投这个岗位了。直接机器学习工程师。首先是选择题:几个印象深刻的题目。1、81的互质数是几个。考察组合数学里的欧拉函数。2、下面哪一个是生成公式模型。(记不住了。。)SVM、HMM、LR、ANN。我觉得是HMM模型其他的都还好。很简单。下面是三道编程题1、用set提重复,或者用vector里的unique2、给你

2016-08-02 21:05:36 13744

原创 三四月找实习总结

三月来实验室就发现需要找实习。太匆忙了,之前什么都没有准备,就匆忙上阵了。自己本身对自己的定位是算法机器学习,最好是深度学习一类的。同时自己本身学过一点金融也想做数据分析一类的工作。于是就找了以下几个实习:蚂蚁金服阿里巴巴宜信360人工智能深度学习岗位网易结果很悲催这几个实习一个都没成功,究其原因是:知识储备不够、代码功底不扎实、面试时没有能拿出手的东西。首先说说第一个

2016-05-01 19:54:50 969

原创 【Caffe安装】 如何在Windows下安装配置python接口的caffe(GPU)

整了一晚上加一上午。网上关于python的记录较少,这里写一下。这里的环境是WIN10+cuda v7.5 +cudnn v4 + opencv + pycharm+VS2013使用的是GPU,我的GPU是titan16G+内存32G首先是caffe的文件以及第三方库的编译,这里提供一个已经编译好的的连接,我就是从那里下好然后编译完毕的。点击打开链接 happynear的然后就

2016-04-02 14:18:48 6681 10

原创 {leetCode}2。addTwoNum

链表的题,考研的时候复习过。注意的点:链表长度不同、长度相同但最后一位有进位。不会的点:如何尾插?再看看数据结构。new和Malloc的区别? int r=0,cur; ListNode *l,*tail; //l->next = Null; //tail->next = Nulll;

2016-03-19 21:42:47 530

原创 {Leetcode} 1。TwoSum

打算找工作了。把leetCode的题集刷一刷。第一个题很简单,但是做出来比较麻烦,出错的地方比较多。思路:2分查找。不会的知识点:C++ 的 模板函数。回来打算把C++Primer 刷一遍。都搞清楚。我把自己的写好的代码贴上来。(竟然28ms是很慢的。。。。。) multimap::iterator head,last,it; vector::iterator jt;

2016-03-19 21:36:59 655

原创 【whr的深度学习总结1】使用Matconvnet训练imbalance全连接网络

matconvnet只提供了卷积函数,并没有提供全连接函数,那么如何在卷积函数上训练全连接呢?首先,我们要清楚一件事:卷积核为1*1同时步长是1的网络就是全连接。那么配置网络的时候就只需执行卷积函数,同时配置卷积核的大小就可以。这是我的配置文件:function net = cnn_crp_init(varargin)% CNN_MNIST_LENET Initialize a

2016-03-08 21:50:31 3905 4

原创 数据结构----图论基础算法的小合集(1)

又把数据结构图论一章看了一遍,把一些算法写了写。包括:DFS、DFS(邻接链表)、BFS、PRIM、KRUSKAL、DIJSTRA。以下是代码:DFS( 邻接矩阵):#include #include #define maxn 1000//аз╫с╬ьуС1int mat[maxn][maxn],cnt;bool vis[maxn];void init_mat(){

2013-06-09 23:29:26 618

原创 poj1753 Flip Game 解题报告

现附上原题连接:http://poj.org/problem?id=1753题目的大意识这样:     给一个棋盘,4*4大小,上面放上正反面各为黑、白的棋子,现有如下操作:    1、在其中选一棋子,完成反转操作,反转后,棋子颜色改变为其对立颜色。    2、凡是反转一枚棋子,其上下左右邻近位置的棋子均要翻面。    问:给定一种状态下的局面,需要翻至少几个棋子,会使棋盘全是

2013-06-09 23:14:03 615

原创 我的C++之旅--------王世弘 c++课本学习心得(1)

类的创建1.今天通过学习分数的相关计算来实现c++语言中的对象编程的基础操作首先,创建一个分数的类,此类包含:构造函数、自我计算(取最小公倍数等操作)、加法计算、减法计算、乘方等。(我似乎好像发现了一个bug,为如果g为负数,那么在程序结果中,会出现错误,因为此前定义 denum 为unsigned int 类型,所以负数是不会显示的)类的创建2.通过delete new 以及~,

2012-11-19 16:58:41 1101

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除