直击LeetCode最经典二分法算法题:Median of Two Sorted Arrays
引言这是笔者的第一篇公众号文章,思来想去一直没决定好写什么(因为想写的东西太多了。最后决定讲一道我个人觉得很有意思的一道题,那就是LeetCode上大名鼎鼎的MedianofTwoSortedArrays。这道题是一道非常经典并且有相当难度的二分查找问题,彻底理解和实现之后其他二分查找问题相信都会迎
直击LeetCode最经典二分法算法题:Median of Two Sorted Arrays
引言这是笔者的第一篇公众号文章,思来想去一直没决定好写什么(因为想写的东西太多了。最后决定讲一道我个人觉得很有意思的一道题,那就是LeetCode上大名鼎鼎的MedianofTwoSortedArrays。这道题是一道非常经典并且有相当难度的二分查找问题,彻底理解和实现之后其他二分查找问题相信都会迎
LeetCode3 一题学会尺取算法
点击上方蓝字,和我一起学技术。今天和大家聊的问题叫做最长不重复子串,这道题很有意思,我们先来看题面:Givenastring,findthelengthofthelongestsubstringwithoutrepeatingcharacters.https://leetcode.com/probl
数据库的事务四大原则
点击上方蓝字,和我一起学技术。说到数据库,以前我老师有一句很经典的话。你可以不会写SQL,但是一定不能不知道ACID。在工业领域,SQL可以说是应用最广泛的技术。从后端到算法,从数据到DBA,再到产品,甚至连一些运营也会基本的SQL。所以如果你现在还不太会的话,我建议你用一个下午的时间找个网站好好学
概率统计——贝叶斯定理与三扇门游戏
点击上方蓝字,和我一起学技术。在概率论的课本上有一个经典的问题,一直困扰我很久。有很多次我以为我想明白了,过了一段时间却又会糊涂。这个问题学过概率论的同学想必都知道,就是著名的三扇门问题。说是之前在美国有一个著名的综艺节目,这个节目里有三扇关闭着的门。其中有两扇的后面是山羊,有一扇则放着一辆豪车。主
【分布式系统设计】:一致性哈希,剖析分布式键值系统的核心算法。
哈希哈希(hash)可能是是计算机界应用最广泛的算法了,小到HashMap,大到分布式键值系统(Key-ValueStore),哈希算法无处不在。其将无限的,分布不均匀的值均匀映射到有限区间的能力使其广泛运用在索引,加密算法以及负载均衡器中。今天笔者将分享著名的分布式算法,一致性哈希(Consist
算法浅谈——二分法的兄弟,三分法
点击上方蓝字,和我一起学技术。之前的文章当中我们详细阐述了二分法,尤其是讨论了我们在编写代码时候的边界问题。传送门:算法浅谈——人人皆知却很多人写不对的二分法今天这一篇文章,我们继续来讲算法,我们不讲二分法了。来讲讲二分法的进阶版——三分法。是的,你们没有看错,这不是我任性起的名字,而是实实在在的有
ML基础——让人脑壳疼的中文分词算法
点击上方蓝字,和我一起学技术。在前文当中,我们介绍了搜索引擎的大致原理。有错过或者不熟悉的同学,可以点击下方的链接回顾一下前文的内容。在介绍爬虫部分的时候,我们知道,爬虫在爬取到网页的内容之后,会先进行一些处理。首先要做的就是过滤掉HTML当中的各种标签信息,只保留最原生的网页内容。之后,程序会对这
【分布式系统设计】:漫谈幂等
引言因为笔者对分布式系统有着狂热的兴趣,因此开了【分布式系统设计】这一专题,不仅可以分享学习成果,帮助大家面试,根据费曼方法,还能在写文章的过程过发现自己认识的不足。分布式系统与单机编程有着巨大的区别,一台计算机上的任何错误(硬件错误,kernelpanic)可以让计算机直接宕机(singlepoi
线性代数精华2——逆矩阵的推导过程
点击上方蓝字,和我一起学技术。上一讲当中我们复习了行列式的内容,行列式只是开胃小菜,线性代数的大头还是矩阵。矩阵的定义很简单,就是若干个数按照顺序排列在一起的数表。比如m*n个数,排成一个m*n的数表,就称为一个m*n的矩阵。矩阵运算的相关性质不多,主要的有这么几点:1.矩阵的加法有结合律和交换律2
LeetCode 2 Add Two Numbers——用链表模拟加法
点击上方蓝字,和我一起学技术。今天要讲的是一道经典的算法题,虽然不难,但是很有意思,我们一起来看下题目:Youaregiventwonon-emptylinkedlistsrepresentingtwonon-negativeintegers.Thedigitsarestoredinreverseo
LeetCode 1 Two Sum——在数组上遍历出花样
点击上方蓝字,和我一起学技术。今天是周末,和大家一起来看一道算法题。这道题是大名鼎鼎的LeetCode的第一题,也是面试当中非常常见的一道面试题。题目不难,但是对于初学者来说应该还是很有意思,也是一道很适合入门的算法题。废话不多说,让我们一起来看看题目吧。Givenanarrayofintegers
大数据基石——Hadoop与MapReduce
点击上方蓝字,和我一起学技术。近两年AI成了最火热领域的代名词,各大高校纷纷推出了人工智能专业。但其实,人工智能也好,还是前两年的深度学习或者是机器学习也罢,都离不开底层的数据支持。对于动辄数以TB记级别的数据,显然常规的数据库是满足不了要求的。今天,我们就来看看大数据时代的幕后英雄——Hadoop
费米问题——芝加哥有多少钢琴调音师?
点击上方蓝字,和我一起学技术。最近看到了一个有趣的事迹,说是有一个著名的物理学家叫做费米。他当年参与了曼哈顿计划,是原子弹的制造者之一。说是有一天他问了他的研究生一个问题,在芝加哥这座城市当中,存在着多少钢琴调音师?他要求他的学生只能靠着自己估算,不能使用任何调查或者统计数据。他的学生一脸懵逼,我又
算法浅谈——人人皆知却很多人写不对的二分法
点击上方蓝字,和我一起学技术。1二分法可以说是鼎鼎大名,哪怕是没有学过编程的同学,也许说不上来二分法这个名字,但是对于其中的精髓应该都是有所了解的。不了解的同学也没关系,我一句话就能交代清楚:我们每次将一个集合一分为二,每次舍弃其中一半。早在两千多年前,庄子就搞清楚了二分法的精髓,他说:一尺之棰,日
ML基础——搜索引擎与图书管理,百度与李彦宏
点击上方蓝字,和我一起学技术。谈及机器学习,大家想必会有许多联想,比如最近火热的人工智能,再比如战胜李世石的AlphaGo,甚至还会有人联想起骇客帝国或者是机械公敌等经典机器人电影。但实际上目前机器学习虽然应用广泛,但是在各大互联网公司当中,最主要的应用场景变化并不大。基本上还是延续从前的三板斧——
线性代数精华1——从行列式开始
点击上方蓝字,和我一起学技术。线性代数是机器学习领域当中非常重要的基础知识,但是很遗憾的是,在真正入门之前很少有人能认识到它的重要性,将它学习扎实,在入门之后,再认识到想要补课也不容易。我自己也是一样,大学期间只是浅尝辄止,这门课考试成绩还可以,但是过后记住的内容不多。导致后来在看很多论文以及资料的
TechFlow由来的二三事
点击上方蓝字,和我一起学技术。关于TechFlow顾名思义,这是一个关于技术的公众号,并且主要专注于算法相关的技术。目前的规划会覆盖算法相关的基础数学(线性代数、高数、概率论)、机器学习和深度学习原理和前沿的一些paper的分享。也会有一些关于算法系统的设计,和工作当中遇到的一些难题的思考和总结。T