算法
文章平均质量分 60
Nicholas_Liu2017
这个作者很懒,什么都没留下…
展开
-
LeetCode代码记录
一道关于二叉树的题,这道题计算每一个结点,全部左子树和,全部右子树和,然后求差。将这个二叉树全部结点的tilt都相加,给出最终的结果。class Solution {public:int findTilt(TreeNode* root) {int tilt = 0;sum(root, tilt);return tilt;}priv原创 2017-04-29 11:45:12 · 702 阅读 · 0 评论 -
谷歌最新开源Tensor2Tensor
最新谷歌开源了另一个功能强大的深度学习开源框架,这个开源的框架与Tensorflow结合起来可以完成更加丰富的功能。T2T is a modular and extensible library and binaries for supervised learning with TensorFlow and with support for sequence tasks. It i原创 2017-06-29 10:47:04 · 1382 阅读 · 0 评论 -
Isolation Forest算法原理详解
原文地址:http://blog.csdn.net/u013709270/article/details/73436588本文只介绍原论文中的 Isolation Forest 孤立点检测算法的原理,实际的代码实现详解请参照我的另一篇博客:Isolation Forest算法实现详解。 或者读者可以到我的GitHub上去下载完整的项目源码以及测试代码(源代码程序转载 2017-06-29 11:05:34 · 2074 阅读 · 0 评论 -
Learning to Rank(LTR)
Learning to Rank(LTR)声明:本文主要参考Learning to Rank 简介、Learning to Rank小结文章。 另参考李航老师A short introduction to learning to rank一文。 对以上文章有较多引用,在此对原作者表示感谢!刚刚接触排序学习,很多问题尚不清楚,在努力学习中,如有错误欢迎指出。本文也转载 2017-06-20 14:49:51 · 669 阅读 · 0 评论 -
What’s a Good Clickthrough Rate? New Benchmark Data for Google AdWords
https://blog.hubspot.com/agency/google-adwords-benchmark-dataAs marketers, we're always thinking about the most optimal way to target our potential customers. Trouble is, mastering Google Ad转载 2017-06-20 21:38:05 · 505 阅读 · 0 评论 -
Google advances AI with ‘one model to learn them all
Google quietly released an academic paper that could provide a blueprint for the future of machine learning. Called “One Model to Learn Them All,” it lays out a template for how to create a single m转载 2017-06-21 19:13:29 · 345 阅读 · 0 评论 -
25张图让你读懂神经网络架构
由于新的神经网络架构无时无刻不在涌现,想要记录所有的神经网络是很困难的事情。要把所有这些缩略语指代的网络(DCIGN,IiLSTM,DCGAN等)都弄清,一开始估计还无从下手。下表包含了大部分常用的模型(大部分是神经网络还有一些其他的模型)。虽然这些架构都是新奇独特的,但当我开始把它们的结果画下来的时候,每种架构的底层关系就会清晰。显然这些节点图并不能显示各个模型的内部工作转载 2017-06-24 20:18:06 · 23527 阅读 · 0 评论 -
Tensorflow学习笔记1:Get Started
关于Tensorflow的基本介绍Tensorflow是一个基于图的计算系统,其主要应用于机器学习。从Tensorflow名字的字面意思可以拆分成两部分来理解:Tensor+flow。Tensor:中文名可以称为“张量”,其本质就是任意维度的数组。一个向量就是一个1维的Tensor,一个矩阵就是2维的Tensor。Flow:指的就是图计算中的数据流。当我们想要使用T转载 2017-06-13 15:45:43 · 507 阅读 · 0 评论 -
Tensorflow学习笔记2:About Session, Graph, Operation and Tensor
简介上一篇笔记:Tensorflow学习笔记1:Get Started 我们谈到Tensorflow是基于图(Graph)的计算系统。而图的节点则是由操作(Operation)来构成的,而图的各个节点之间则是由张量(Tensor)作为边来连接在一起的。所以Tensorflow的计算过程就是一个Tensor流图。Tensorflow的图则是必须在一个Session中来计算。这篇笔记来大致介绍转载 2017-06-13 13:32:10 · 451 阅读 · 0 评论 -
python 统计
今天找到了一个Python的第三方库,pymc,这里面很详细的介绍了如果通过编程来实现统计中的方法,相信通过使用这个库,可以更进一步的理解统计学知识。原创 2017-06-15 18:02:11 · 406 阅读 · 0 评论 -
MinGW 安装与CLion IDE环境配置
在windows上安装CLion,发现机器上没有安装任何C/C++编译器,CLion在安装之后,会推荐安装编译器,一般有MinGW和Cygwin ,关于这两个编译器,可以看知乎里说的关于这两个编译器的区别:https://www.zhihu.com/question/22137175在这个网站可以下载:https://sourceforge.net/projects/mingw/files/l原创 2017-06-26 19:32:08 · 6174 阅读 · 0 评论 -
LeetCode编程技巧
今天参加了LeetCode每周的竞赛,做出了3道题,但是第三道题尝试了两种方法,都是内存溢出,因此这就说明,这道算法,可以利用映射来减少内存量和运行时间。第四道题,没有时间了,就没有看。下次要加快速度。其中,学习到了两个新的方法,一个是处理置换问题:Given two strings s1 and s2, write a function to return true if s原创 2017-04-30 14:10:10 · 447 阅读 · 0 评论 -
寻找丢失的第一个正整数
一道题目:给出一个无序的正数数组,找出其中没有出现的最小正整数。样例如果给出 [1,2,0], return 3如果给出 [3,4,-1,1], return 2今天和同事讨论了一道算法题,就是给定一个数组,找到这个数组里没有出现的最小的正整数,这道题看起来,可以先排序,然后直接就可以找到最小正整数,但是复杂度为O(nlogn),但是感觉这道题不应该复杂原创 2017-05-09 22:01:43 · 596 阅读 · 0 评论 -
归并排序算法
在计算机领域,一路走来,从最初的学习算法,到本科毕业,再到硕士即将毕业。对于归并排序也是听了有5年了,归并排序的思想很容易掌握,听了之后,也知道怎么做,以前记得也实现过,但是并没有认真的思考里面具体的问题。我的研究领域是深度学习,这里面的算法可能与传统计算机算法有些不同,但是其实基本思想还是很有关联的,底层的算法实现好坏,直接决定最终高层算法的性能。如果底层算法耗费资源,并且时间花费很大,由于高层原创 2017-05-09 14:51:49 · 290 阅读 · 0 评论 -
算法 背包问题
今天看了背包问题,采用贪心的策略,比如给定包容量为10, 那么物品数是:【1,4,3,2,6,7】,那么可以递归的取思考问题(我同事递归的思想掌握的非常好,出神入化),那么考虑两种情况:1、将1加入包中,剩余的问题是【4,3,2,6,7】,给定包容量为10-1=9;2、不将1加入包中,在【4,3,2,6,7】中,给定包容量为10;然后比较这两种情况的返回值的大小,取大的值。以下算法,采原创 2017-05-12 11:06:32 · 491 阅读 · 0 评论 -
关于操作矩阵中索引的技巧(一)
一般情况下,写代码需要操作矩阵,因为有些孙法题目,是要对矩阵操作的。现在就拿二维矩阵来说Input:[[0,1,1,0], [0,1,1,0], [0,0,0,1]]Output: 3这个矩阵,想要看连续最长序列的长度,要看水平,垂直,主对角线,反对角线上,连续1的长度。现在主要拿主对角线,和反对角线来说:对于主对角线,只需要检测(0,0), (1,0),(2,0)原创 2017-04-29 14:27:57 · 1519 阅读 · 0 评论 -
关于操作矩阵中索引的技巧(二)
关于矩阵的操作,做了一些题发现,对于一个m*n的矩阵,这个类行多少列n是十分关键的,因为我拿到一个累计长度k,则通过除法和取余操作,就可以得到这个数在矩阵中的索引位置:int i = k / n;int j = k % n;比如要对一个矩阵操作,reshape等,可以采用如下的算法来完成:vector> matrixReshape(vector>& nums, int r,原创 2017-05-13 17:25:01 · 685 阅读 · 0 评论 -
划分数组问题
今天做了一道题目,是划分数组的问题: 给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得:所有小于k的元素移到左边 所有大于等于k的元素移到右边返回数组划分的位置,即返回满足 nums[i] 大于等于 k的数组中第一个位置 i。在做这道题的时候,思想十分的简单,就相当于快速排序的partition算法一样,但是唯一不同的是,这个数组的第...原创 2017-05-13 11:22:19 · 1407 阅读 · 2 评论 -
关于算法不断优化的乐趣
看了一道很常规的算法题,要求计算数组中,相加为0的3个数,当然还有相加为0的4个数(以后看了再写),因为要在一个一维数组中寻找3个数,首先想到暴力搜索,算法复杂度为O(n^3),于是想到,先对数组排序,复杂度为O(nlogn),远小于O(n^3),然后实现了通过两边夹的思路实现了算法,但是在leetcode上运行后,发现运行速度比别人提交的平均值还要高,也就是说,算法没有进行优化,因此看了他们的答原创 2017-05-13 17:33:13 · 282 阅读 · 0 评论 -
编程之美2.8 寻找条件数,斐波那契数
今天看了寻找条件数这道题,发现这道题适用的技巧还是很巧妙的,首先一个技巧就是:思考的角度要改变,当正向计算量很大时,那么就反向考虑。题目中要求寻找最小的M,使得N*M的十进制结果,只包含1或者是0。但是如果正向寻找,那么会很慢,于是反向考虑,首先寻找十进制数中,只包含1和0的数,然后看能否被N整除。这样,问题就变成了一个十进制数能被N整除,那么这个数可以看成有一系列的数相加构成,而如果这些数对N的原创 2017-05-06 13:46:27 · 516 阅读 · 0 评论 -
面试 考虑链表反转的递归实现
这道题是在面试时遇到的,要求实现链表反转的递归版,这道题其实思想非常的简单,而且几行代码就可以实现,但是在面试时出现,这的确如果之前联系的是非递归版的链表反转实现,那么来一个递归版的,可能需要花点时间来适应一下。一下实现了两个版本的递归版单链表反转,这道题从两个角度看,区别在于,递归调用的返回值是什么,如果递归调用的返回值是输入结点,那么直接在这一层函数连接当前结点,另一个是在下一层调原创 2017-05-06 16:18:50 · 422 阅读 · 0 评论 -
ACM 算法 KMP 字符串匹配
记得在大学学习数据结构的时候,看的是严蔚敏老师的那本书,虽然还有许多优秀的书籍,但是当时初学,也没想那么多,看懂了就行。但是,看到字符串那一章时,觉得字符串也没什么(不知道当时怎么想的,字符串可是计算机能实现现如今多样性操作功能的很重要的部分),看到KMP,感觉没看懂,不知道干什么,反正就是有个印象,是可以加速在一个长的字符串中搜索给定特定模式的子字符串,当时更没有想过看博客,也没想过实现一下(可转载 2017-05-07 17:06:48 · 472 阅读 · 0 评论 -
旋转数组 二分查找 查找一个目标值
昨天晚上砍了一道算法题,题目要求使用二分查找数组中某一个值,唯一的不同是该数组是在原始有序的情况下,按照某一个点进行了旋转,对于这个数组,有一个角度来思考问题,其关键思想是寻找旋转点。对于旋转数组,主要看A[mid]和A[high]的大小,如果前者比后者大,说明数组的后面来自于原来数组的前面,则最小值肯定在后边,反之,如果前者比后者小,那说明最小值在前边。做了几个算法,尝试了,发现总是原创 2017-05-16 10:06:16 · 1135 阅读 · 0 评论 -
最长公共子序列
public class Solution { /** * @param A, B: Two string. * @return: the length of the longest common substring. */ public int longestCommonSubstring(String A, String B) {转载 2017-05-07 22:28:12 · 284 阅读 · 0 评论 -
C++中对于一个键值对进行排序
在很多算法中,会存在需要对一个序列排序,但又想让其索引跟着排序发生变化,这样便引出了对pair进行排序的要求。很多情况下,会想到定义一个map来作为数据结构,然后对第一个first进行排序,然后保持第二个的相对顺序。同样可以转换一个观念,采用vector>来作为数据结构,然后采用"algorithm.h"中定义的sort算法进行排序即可。class Solution{publ原创 2017-08-13 16:45:28 · 2142 阅读 · 0 评论