自定义博客皮肤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)
  • 收藏
  • 关注

原创 Python——迭代器的高级用法

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第8篇文章。今天我们依然介绍的是迭代器,不过介绍的是几个比较常用的高级用法,在实际场景当中非常实用,可以帮助我们大大简化代码的复杂度。跳过开头首先是跳过开始部分,这个在我们读取文本的时候最常用。在实际的应用当中,比如记录的日志或者是代码等等,一般来说头部都会附上一段说明,或者用注释标注或者是用特殊的符号标记...

2020-03-31 09:18:30 300

原创 LeetCode45——从搜索算法推导到贪心

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是LeetCode系列的第25篇文章,今天我们一起来看的是LeetCode的第45题,Jump Game II。有同学后台留言问我说,我每次写文章的题目是怎么选的,很简单基本上是按照顺序选择Medium和Hard难度,然后会根据题目内容以及评价过滤掉一些不太靠谱或者是比较变态没有意思的题。这些题当然会比Easy难度的要难上一点,...

2020-03-30 09:27:57 253

原创 LeetCode44,Hard,从搜索到动态规划的详细推导

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是LeetCode专题的第24篇文章,我们一起来看LeetCode的44题——Wildcard Matching,这是一道Hard难度的问题,会稍稍有点难,但是好消息是没有出现我们之前没见过的算法。题意很简单,给定两个字符串s和p,其中s是母串,p是模式串。简单解释一下这两个概念,这两个概念一般出现在字符串匹配的问题当中。有些同学...

2020-03-29 09:36:50 253

原创 在vscode中配置LeetCode插件,从此愉快地刷题

大家好,今早在B站看到up主的vscode里藏了leetcode插件,这才知道原来还有这款神器。但是没想到在用的时候遇到了一些麻烦,花了一点时间才解决。所以写这篇文章除了给大家安利这个好用的插件之外,也是为了帮助更多的同学避免踩坑。简介vscodevscode在工业界鼎鼎大名,被誉为微软少有的拿得出手的精品(逃)。原本是不想过多赘述的,但是鉴于许多粉丝还是正在上学的萌新,所以花点笔墨简单介绍一...

2020-03-29 08:35:07 7658 10

原创 分布式专题——详解Google levelDB底层原理

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是分布式专题的第10篇文章,我们继续来聊聊LSMT这个数据结构。LSMT是一个在分布式系统当中应用非常广泛,并且原理直观简单的数据结构。在上一篇文章当中我们进行了详细的讨论,有所遗忘或者是新关注的同学可以点击下方的链接回顾一下上一讲的内容。分布式——吞吐量巨强、Hbase的承载者 LSMTleveldb简介上一篇的内容我们介...

2020-03-28 10:05:39 675

原创 高等数学——求解不定积分的经典换元法

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是高等数学专题的第九篇文章,我们继续来看不定积分。在上篇文章当中我们回顾了不定积分的定义以及简单的性质,我们可以简单地认为不定积分就是求导微分的逆操作。我们要做的是根据现有的导函数,逆推出求导之前的原函数。除了基本定义之外,我们还介绍了一些简单的性质和常用积分的积分表。但是显然根据已有的性质对于许多复杂的函数来说求解积分仍然非常...

2020-03-27 08:38:43 3130

原创 动态规划——详解经典的完全背包与多重背包问题

今天是算法数据结构专题的第13篇文章,也是动态规划专题的第二篇。上一讲当中我们一起学习了动态规划算法中的零一背包问题,我们知道了所谓的零一背包是指每一种物品只有一个,所以它的状态只有0和1两种,即拿或者不拿。而今天我们要来讨论物品不止有一个的情况,物品不止有一个也分两种,一种是不作任何限制,要多少有多少,这种称为完全背包问题,另一种是依然有个数限制,这种称为多重背包问题。我们一个一个来看,我...

2020-03-26 08:37:02 1550

原创 详解Kmeans的两大经典优化——mini-batch和Kmeans++

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是机器学习专题的第13篇文章,我们来看下Kmeans算法的优化。在上一篇文章当中我们一起学习了Kmeans这个聚类算法,在算法的最后我们提出了一个问题:Kmeans算法虽然效果不错,但是每一次迭代都需要遍历全量的数据,一旦数据量过大,由于计算复杂度过大迭代的次数过多,会导致收敛速度非常慢。想想看,如果我们是在面试当中遇到的这个问...

2020-03-25 08:38:51 1955 1

原创 Python专题——详解enumerate和zip

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是Python专题的第7篇文章,我们继续介绍迭代相关。enumerate首先介绍的是enumerate函数。在我们日常编程的过程当中,经常会遇到一个问题。在C语言以及一些古老的语言当中是没有迭代器这个概念的,所以我们要遍历数组或者是容器的时候,往往只能通过下标。有了迭代器之后,我们遍历的过程方便了很多,我们可以直接用一个变量...

2020-03-24 09:26:33 481

原创 LeetCode42题,单调栈、构造法、two pointers,这道Hard题的解法这么多?

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是LeetCode专题的第23篇文章。今天来看一道很有意思的题,它的难度是Hard,并且有许多种解法。首先我们来看题面,说是我们有若干个水坝,水坝的宽都是1,但是水坝的高度参差不齐。某一天我们向水坝围起来的部分灌水,一直到灌满为止,请问水坝中存储了多少单位的水?我们可以参考一下下图:上图当中黑色的部分是水坝,蓝色的部分是存储...

2020-03-23 09:39:35 257

原创 LeetCode43,一题学会高精度算法

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是LeetCode系列第22篇文章,今天讲的内容是高精度算法。今天和大家讨论的算法是高精度,对应的LeetCode是第43题。题面其实没什么好说的,以字符串的形式给定两个数字,要求返回这两个数字的乘积。之所以是以字符串的形式给数字是因为这个数字可能会非常大,题目当中给定的范围是110位的数字。对于Python来说这不是问题,但是对...

2020-03-22 09:47:10 364

原创 分布式——吞吐量巨强、Hbase的承载者 LSMT

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是分布式系统的第九篇文章。今天给大家分享的内容是LSM树,它的英文是Log-structed Merge-tree。看着有些发怵,但其实它的原理不难,和B树相比简直算是小儿科了。并且这也是一个非常经典的数据结构,并且在大数据系统当中有非常广泛的应用。有许多耳熟能详的经典系统,底层就是基于LSM树实现的。因此,今天就和大家一起来深...

2020-03-21 09:14:47 439 1

原创 高等数学——微积分中的不定积分

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是高等数学专题的第8篇文章,今天的内容是不定积分。我之前的高数老师曾经说过,高等数学就是大半本的微积分加上一些数列和极限的知识。而微积分当中,积分相关又占据了大半江山。微积分之所以重要并不是因为它的比重大、容量多,而是因为它常用。几乎所有理工科的课本上都有微积分的公式,原因也很简单,当年这些科学家在研究未知事物或者是进行计算的时候...

2020-03-20 08:45:44 1304

原创 动态规划入门——详解经典问题零一背包

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是周三算法与数据结构专题的第12篇文章,动态规划之零一背包问题。在之前的文章当中,我们一起探讨了二分、贪心、排序和搜索算法,今天我们来看另一个非常经典的算法——动态规划。在acm-icpc竞赛领域,动态规划是一个非常大的范畴,当中包含了许多变种,而且很多变种难度极大。比如在各种树上和图上以及其他数据结构上做动态规划,这会使得问题...

2020-03-19 08:47:46 673

原创 机器学习——详解经典聚类算法Kmeans

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是机器学习专题的第12篇文章,我们一起来看下Kmeans聚类算法。在上一篇文章当中我们讨论了KNN算法,KNN算法非常形象,通过距离公式找到最近的K个邻居,通过邻居的结果来推测当前的结果。今天我们要来看的算法同样非常直观,也是最经典的聚类算法之一,它就是Kmeans。我们都知道,在英文当中Means是平均的意思,所以也有将它翻译...

2020-03-18 08:40:39 731 1

原创 Python专题——五分钟带你了解map、reduce和filter

今天是Python专题第6篇文章,给大家介绍的是Python当中三个非常神奇的方法:map、reduce和filter。不知道大家看到map和reduce的时候有没有什么感觉,如果看过之前我们大数据系列介绍MapReduce文章的同学,想必有些印象。这个MapReduce不是一个分布式的计算方法么,怎么又变成Python中的方法了?其实原因很简单,因为Python是一门很年轻的语言,它在发展的过...

2020-03-17 08:31:11 302

原创 LeetCode41,一题理解in-place思想

今天是LeetCode题解系列第21篇,今天来看一道人狠话不多的题目。题面题目非常简单,只有一句话,给定一个整数数组,要求返回最小的不在数组当中的正整数。看起来有些拗口,简单解释一下。我们都知道正整数就是从1开始的整数,所以这道题就是从1开始找到第一个不在数组当中的元素。我们来看下样例:样例 1:Input: [1,2,0]Output: 3样例 2:Input: [3,4,-1...

2020-03-16 08:58:35 306

原创 LeetCode专题——详解搜索算法中的搜索策略和剪枝

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是LeetCode专题第20篇文章,今天讨论的是数字组合问题。描述给定一个int类型的候选集,和一个int类型的target,要求返回所有的数字组合,使得组合内所有数字的和刚好等于target。注意:所有的元素都是正数所有元素没有重复答案不能有重复每一个元素可以使用若干次样例 1:Input: candida...

2020-03-15 11:09:55 505

原创 硬核数据结构,让你从B树详解B+树

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是分布式系统的第八篇文章,核心内容是B+树的原理。今天的文章是上周B树的延伸,所以新关注的或者是有所遗忘的同学建议先从下方链接回顾之前的内容。硬核挑战——从零开始动手图解B树B+树的特性B+树和B树一样都是多路平衡树,也叫多叉树。两者的性质也基本一致,在具体来看详细内容之前,我们先来总体看下B+树的特性,先有个大概的印象。...

2020-03-14 08:59:20 370

原创 快速求解方程的根——二分法与牛顿迭代法

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是周四高等数学专题的第7篇文章。之前的文章和大家聊了许多数学上的理论,今天和大家聊点有用的东西。我们都知道,工业上的很多问题经过抽象和建模之后,本质还是数学问题。而说到数学问题就离不开方程,在数学上我们可以用各种推算、公式,但是有没有想过在计算机领域我们如何解一个比较复杂的方程?如果之前没有想过,那你可能得想一想,因为以后很有...

2020-03-13 08:40:31 3065

原创 算法浅谈——走迷宫问题与广度优先搜索

本文始发于个人公众号:TechFlow,原创不易,求个关注在之前周末LeetCode专栏当中,我们详细描述了深度优先搜索和回溯法,所以今天我们继续这个话题,来和大家聊聊搜索算法的另一个分支,广度优先搜索。广度优先搜索的英文是Breadth First Search,简写为bfs。与它相对的深度优先搜索,英文自然就是Depth First Search,简写成dfs。所以如果在阅读我或者其他人...

2020-03-12 09:10:15 428

原创 机器学习基础——简单易懂的K邻近算法,根据邻居“找自己”

本文始发于个人公众号:TechFlow,原创不易,求个关注今天的文章给大家分享机器学习领域非常简单的模型——KNN,也就是K Nearest Neighbours算法,翻译过来很简单,就是K最近邻居算法。这是一个经典的无监督学习的算法,原理非常直观,易于理解。监督与无监督简单介绍一下监督这个概念,监督是supervised的直译,我个人觉得不太准确,翻译成有标注和无标注可能更加准确。也就是...

2020-03-11 08:41:34 554

原创 Python——五分钟带你弄懂迭代器与生成器,夯实代码能力

本文始发于个人公众号:TechFlow,原创不易,求个关注今天是周一Python专题,给大家带来的是Python当中生成器和迭代器的使用。我当初第一次学到迭代器和生成器的时候,并没有太在意,只是觉得这是一种新的获取数据的方法。对于获取数据的方法而言,我们会一种就足够了。但是在我后来Python的使用以及TensorFlow等学习使用当中,我发现很多地方都用到了迭代器和生成器,或者是直接使用,...

2020-03-10 09:07:37 650 1

原创 LeetCode37 使用回溯算法实现解数独,详解剪枝优化

本文始发于个人公众号:TechFlow,原创不易,求个关注数独是一个老少咸宜的益智游戏,一直有很多拥趸。但是有没有想过,数独游戏是怎么创造出来的呢?当然我们可以每一关都人工设置,但是显然这工作量非常大,满足不了数独爱好者的需求。所以常见的一种形式是,我们只会选择难度,不同的难度对应不同的留空的数量。最后由程序根据我们选择的难度替我们生成一个数独问题。但是熟悉数独的朋友都知道,并不是所有的数独...

2020-03-09 09:07:04 896

原创 LeetCode 33,在不满足二分的数组内使用二分的方法

本文始发于个人公众号:TechFlow,原创不易,求个关注链接Search in Rotated Sorted Array难度Medium描述给定一个升序排列的数组,它被分成两部分之后交换了顺序。要求给定一个元素,返回这个元素的在数组当中的下标,如果不存在返回-1. 时间复杂度必须是O(logn)O(logn)O(logn)Suppose an array sorted in...

2020-03-08 09:14:48 162

原创 丰富图文详解B-树原理,从此面试再也不慌

本文始发于个人公众号:TechFlow,原创不易,求个关注本篇原计划在上周五发布,由于太过硬核所以才拖到了这周五。我相信大家应该能从标题当中体会到这个硬核。周五的专题是大数据和分布式,我最初的打算是和大家分享一下LSM树在分布式存储引擎当中的应用。但是想要能够真正深入理解了LSM的精髓,以及它构思巧妙的点,必须要对传统的数据库的B树和B+树有所了解。所以才有了今天的文章。虽然我自己完整地将...

2020-03-07 10:12:25 815 1

原创 看完这篇让你高数不挂科之——泰勒公式

本文始发于个人公众号:TechFlow,原创不易,求个关注今天的文章我们来讨论大名鼎鼎的泰勒公式,泰勒公式真的非常有名,我相信上过高数课的一定都记得它的大名。即使你翘掉了所有的课,也一定会在考前重点里见过。我对它的第一映像就是比较难,而且感觉没有太多意思,就是一个近似的函数而已。最近重温了一下有了一些新的心得,希望尽我所能讲解清楚。泰勒公式的用途在看具体的公式和证明之前,我们先来了解...

2020-03-06 09:13:11 1390

原创 数据结构——动手实战双向链表

本文始发于个人公众号:TechFlow,原创不易,求个关注在之前介绍SkipList的文章当中,有一些同学反馈说由于对链表缺少认知以及了解,所以直接啃算法有些过于困难。加上之前的文章当中介绍过了栈,所以这次继续线性表这个话题,我们来一起讨论一下链表。链表是很多数据结构的基础,它的最大特点是支持快速的删除和插入,因此在很多数据频繁变动的场景下使用广泛。而且链表的可拓展性较强,所以它的应用非常广...

2020-03-05 08:39:18 274

原创 机器学习基础——详解自然语言处理之tf-idf

本文始发于个人公众号:TechFlow,原创不易,求个关注今天的文章和大家聊聊文本分析当中的一个简单但又大名鼎鼎的算法——TF-idf。说起来这个算法是自然语言处理领域的重要算法,但是因为它太有名了,以至于虽然我不是从事NLP领域的,但在面试的时候仍然被问过好几次,可见这个算法的重要性。好在算法本身并不困难,虽然从名字上看疑惑重重,但是一旦理解了其中的原理,一切都水到渠成,再也不怕面试的时候...

2020-03-04 08:13:07 658

原创 Python——详解collections工具库

本文始发于个人公众号:TechFlow,原创不易,求个关注今天为大家介绍Python当中一个很好用也是很基础的工具库,叫做collections。collection在英文当中有容器的意思,所以顾名思义,这是一个容器的集合。这个库当中的容器很多,有一些不是很常用,本篇文章选择了其中最常用的几个,一起介绍给大家。defaultdictdefaultdict可以说是这个库当中使用最简单的...

2020-03-03 09:08:33 272

原创 LeetCode 32,并不Hard的难题,解法超级经典,带你领略动态规划的精彩

本文始发于个人公众号:TechFlow,原创不易,求个关注今天给大家分享的是LeetCode当中的32题,这是一道Hard难度的题。也是一道经典的字符串处理问题,在接下来的文章当中,我们会详细地解读有关它的三个解法。希望大家不要被题目上的标记吓到,虽然这题标着难度是Hard,但其实真的不难。我自信你们看完文章之后也一定会这么觉得。链接Longest Valid Parentheses...

2020-03-02 08:07:48 202

原创 LeetCode 31:递归、回溯、八皇后、全排列一篇文章全讲清楚

本文始发于个人公众号:TechFlow,原创不易,求个关注今天我们讲的是LeetCode的31题,这是一道非常经典的问题,经常会在面试当中遇到。在今天的文章当中除了关于题目的分析和解答之外,我们还会详细解读深度优先搜索和回溯算法,感兴趣的同学不容错过。链接Next Permutation难度Medium描述实现C++当中经典的库函数next permutation,即下一个排...

2020-03-01 08:56:30 362 1

空空如也

空空如也

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

TA关注的人

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