Blue Geek's Blog

Just Do it.

面试刷题:矩阵对角线排序 Q1329

BG84

面试刷题:矩阵对角线排序 By 青衣极客 Blue Geek In 2020-04-10 排序作为一种基本算法,已经不太可能直接作为面试题,但是 以排序作为基础内核来解决问题仍然是一个不错的出题点。Leetcode Q1329 就是一个很好的例子,难度并不大,却可以很好地检查开发者运用基础的排序算法解决问题的能力。这远比手动写一个大顶堆或者红黑树有意义得多,毕竟真实工作中大家不太可能这样...

Github就是免费的午餐

BG83

Github就是免费的午餐 By 青衣极客 Blue Geek In 2020-04-09 对于从事计算机软件行业的人来说,Github的大名恐怕是无人不知。不过,绝大数的开发者只是将Github当作寻找免费解决方案和代码的社区,而不是一个高效的优秀助手。Github的一个最主要的功能就是代码托管,托管的意思不仅仅是存储,还包括版本管理、多人协作等功能。几年以前,在Github上只有“p...

面试刷题:查找阈值距离内邻居最少的城市 Q1334

BG82

面试刷题:查找阈值距离内邻居最少的城市 Q1334 Leetcode解题或者面试刷题有时会需要储备一些已有的算法思想,而不全是凭借临场发挥。因为有些问题如果不是记住了对应解决思路,在短时间内是很难或者说基本不太可能凭经验试探出来的。比如最短路径的问题,学习过《数据结构与算法》的朋友可能会记得dijkstra算法和floyd算法。而这两种算法是目前解决这类问题时最高效的,也是事实上公认的标...

DNS也能被投毒?

BG81

DNS也能被投毒? DNS(Domain Name System),顾名思义可以知道这是一个跟域名解析相关的网络服务系统。要搞清楚DNS的作用,我们必须先要知道我们访问网络的过程。稍有网络知识的朋友都知道,每一台计算机在网络中是以IP地址来识别的。现在通用的IPv4是由四个字节表示,每个字节可以表示0~255。但是,在现实使用中大多数人并没有记住想要访问的那些服务器的IP地址——毕竟我们实...

学习Python该读哪些书?

BG80

学习Python该读哪些书? By 青衣极客 Blue Geek In 2020-04-06 Python毫无疑问已经成为了一种现象级的语言,特别是在那些非专业程序员中占有相当多的席位。作为一种通用编程语言,它能够实现所有的逻辑,虽然运行速度与一些编译性的语言相比没有优势,但是 Python的两大优势也是非常明显,即“简单易读”和“丰富的第三方库”。说到“简单易读”,不得不说它的很多关键...

面试刷题:分裂二叉树的最大乘积 Q1339

BG79

面试刷题:分裂二叉树的最大乘积 By 青衣极客 Blue Geek In 2020-04-02 “递归”是一个会让每个初学计算机编程的人都头晕的概念,但是它简单的形式又让我们在描述和解决问题时有了极大的便利。大家理解“递归”通常就是指“自己调用自己”这种很绕口的逻辑,其实质是子问题与父级问题具有相同的逻辑结构,只是数据内容存在差异,所以在求解子问题上适用父问题的解决方案。在处理树形结构时...

面试刷题:能被3整除的最大和 Q1262

BG78

面试刷题:能被3整除的最大和 By 青衣极客 Blue Geek In 2020-04-01 “动态规划”在解决算法问题时常常涉及到,也是一种非常重要的问题求解思想。不过,其描述太过宽泛,以至于很多的算法实际上都可以归为“动态规划”。因此,单独来说动态规划是没有什么太大意义的,因为即使知晓其思想,在解决实际遇到的问题时仍然一头雾水。接下来我们要讨论的一道题目就可以使用“动态规划”来解决,...

面试刷题:移除被覆盖的区间 Q1288

BG73

面试刷题:移除被覆盖的区间 By 青衣极客 Blue Geek In 2020-03-31 在使用C++的STL中的某些算法时,我们常常需要定制一些函数,以保证算法是执行在我们选定的数据上的。 对于简单的情况,可以直接提供一个函数;对于复杂的情况,compare本身需要依赖一些资源,简单函数无法完成,则只能使用仿函数(Functor)。 简单函数的情况极为直观,不值得专门演示,这里主要是...

尝鲜Github Action

BG76

尝鲜Github Action By 青衣极客 Blue geek In 2020-03-30 在软件的产品线中,常常有一个环节——持续集成(CI)。CI的作用是执行一些编译、测试、发布和部署这一类通用工作流程的,在工作划分清晰的团队中,通常是由QA来负责维护的。如果某次提交的代码无法正常通过CI,则QA有权禁止该代码合并到主干分支。由于CI的流程清晰,功能必要,以及多项目通用,因此有一...

itertools加速你的Python程序

BG75

itertools加速你的Python程序 By 青衣极客 Blue Geek In 2020-03-11 如果你听到有一个人在抱怨Python,那么他十有八九正在承受Python程序运行速度慢的煎熬。如果你也感觉到了Python程序运行时的低效,那么是时候作出一些改变了,优化循环结构可能是收益比较大的一项工作。使用何种工具来优化呢?itertools是一个不错的选择,它提供了很多常用功...