Git 中的算法-最近公共祖先

2022-04-06
阅读 3 分钟
5.8k
git merge-base A B 可以查找 A 提交和 B 提交的最近公共祖先提交。而由于 分支和标签在 Git 中仅仅是提交的别名,因此 A 和 B 也可以是分支或者标签。

程序员如何准备面试中的算法

2022-03-21
阅读 3 分钟
1.7k
我负责公司的面试已经有 5 年以上了,基本都是初面和二面,因此技术面试的层面比较深,更多的是了解候选人的技术能力是否达标。在这几年时间,我前前后后也面试了很多的候选人。这些人中有的技术能力不行,但也有些人很可惜,技术能力是可以的,但是却没能通过我的面试,为什么呢?

远程办公有多爽?

2022-02-21
阅读 3 分钟
2k
具体内容涉及公司机密,不方便透露。但是可以说的是,目前负责的内容是一些前端基础设施的建设,具体内容涉及到工程化,编译,跨端等。并且负责的内容和之前工作有一定差异,因此也学到了不少东西。

终极找 bug 大法 - 二分

2022-02-14
阅读 3 分钟
2.6k
大家好,我是 lucifer。今天给大家分享我的日常工作中常用的 debug 杀器!二分代码当我发现一个难以理解和发现的 bug 的时候,我的终极办法就是二分代码。比如先删去文件 a 的一半代码(大约),然后测试问题是否还在。如果问题不在了,那么我们就找到了出问题的代码。如果问题还在,那么我们继续使用同样的办法,继续删...

听说逆向思维能够降低时间复杂度?

2022-01-28
阅读 5 分钟
3k
以终为始在日常生活中指的是先确定目标,再做好计划。之前读管理学的书的时候,学到了这个概念。而在算法中,以终为始指的是从结果反向推,直到问题的初始状态。那么什么时候适合反向思考呢?一个很简单的原则就是:正向思考的情况比较多代码比较难写或者算法复杂度过高这个时候我们可以考虑反向操作。我的习惯是如果直...

区间算法题用线段树可以秒解?

2021-12-16
阅读 7 分钟
5.5k
区间算法题用线段树可以秒解?背景给一个两个数组,其中一个数组是 A [1,2,3,4],另外一个数组是 B [5,6,7,8]。让你求两个数组合并后的大数组的:最大值最小值总和这题是不是很简单?我们直接可以很轻松地在 $O(m+n)$ 的时间解决,其中 m 和 n 分别为数组 A 和 B 的大小。那如果我可以修改 A 和 B 的某些值,并且我要求...

如何准备算法竞赛?

2021-11-19
阅读 3 分钟
4.5k
如果你想参加算法竞赛的建议越早越好。大一或者更早就需要准备起来了。如果你已经快毕业了,那就没有必要准备了,当做兴趣参加一些力扣的比赛也是不错的。

面试中图论都考什么?这篇文章告诉你!

2021-11-09
阅读 23 分钟
5.9k
图论〔Graph Theory〕是数学的一个分支。它以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有这种关系。

《算法通关之路》邀请你来试读

2021-10-25
阅读 3 分钟
3.7k
第 6 章二分法,虽然二分法是一个比较经典的算法,但对于大部分人一直是个头痛的问题。我每次刷 LeetCode 的时候,常常看不出来要使用二分法,或者知道要用二分法,但花了很长的时间在调试二分法的边界问题。通过学习此章很大程度上解决了我的烦恼,让我对二分法有了全方面的了解。它从二分法的经典问题开始讲起,再到后...

聊聊刷题中的顿悟时刻

2021-10-20
阅读 5 分钟
2.9k
和几位一直坚持刷题好朋友讨论了一下刷题的顿悟时刻,他们几位大都取得了不错的 offer,比如 Google 微软,Amazon,BAT 等。

写注释就能自动出代码?copilot 尝鲜

2021-10-08
阅读 2 分钟
7.4k
copilot 是一个基于 AI 的编程辅助工具。目前已经集成在了 vscode 中,后续可能集成到更多平台和工具,目前还是测试阶段。官网地址:[链接]

有了这个可视化插件,刷题调试更轻松

2021-09-27
阅读 2 分钟
3k
学习算法的基本思路就是:先学习算法思想,然后通过做题消化思想,并在做题过程中慢慢学习,掌握一些小技巧。这其中算法思想就是道,而经典题目以及做题技巧就是术。做题是通过术来完善道。

史诗级更新,VSCODE 可无缝调试浏览器了!

2021-09-25
阅读 2 分钟
5.9k
在此之前,你想要在 vscode 内调试 chrome 或者 edge 需要借助于 Chrome Debugger 或者 the Microsoft Edge Debugger extension 这两款 vscode 扩展。

你不知道的 LeetCode 技巧(第二篇)

2021-09-25
阅读 3 分钟
3.7k
上一篇 你不知道的 LeetCode 技巧(第一篇) 讲述了三个 JS 刷题的小技巧。今天来分享几个 leetcode 通用小技巧,不管你是用什么语言刷题都可以使用。tip1 - 中英文切换力扣中国部分题目描述由于翻译的原因,会变得难以理解,甚至出现翻译错误导致题意发生变化的情况。这个时候推荐大家使用切换语言功能,将其转化为英文...

力扣刷题的正确姿势是什么?

2021-09-16
阅读 5 分钟
7.6k
力扣(LeetCode )官网收录了许多互联网公司的算法题目,一度被称为刷题神器。这里我们就来介绍下如何使用 力扣(LeetCode )网站。

我的《算法通关之路》出版啦!

2021-09-03
阅读 3 分钟
4.4k
其实很多朋友私底下问我:新书什么时候出版?可以预定么?等等其实我比大家更着急,只不过出版图书真的是一个非常严谨的过程。不比专栏,小册等电子读物可以一边上架一边修改。传统的纸质图书的要求和流程都是严格把控的。因此只能耐心等待和配合出版社。 而现在《算法通关之路》终于要和大家见面了!🌹🌹🌹不少同学都早就...

你不知道的 LeetCode 技巧(第一篇)

2021-08-11
阅读 3 分钟
5.1k
今天来给使用 JS 刷题的朋友分享三个 LeetCode 上你或许不知道的刷题技巧。tip1 - ES6+首先穿插一个小知识:我们提交的 JS 是如何被 LeetCode 执行的?我们在力扣提交的代码是放到力扣后台运行的, 而 JS 代码在力扣后台是在 node 中以 --harmony 方式运行的。大概是这样: {代码...} 其中 index.js 就是你提交的代码。...

从零到谷歌程序员:我的面试刷题心得

2021-07-29
阅读 4 分钟
6.1k
本文作者:易潇她的 Github:[链接]大家好,我是易潇,也是91算法群里大家熟悉的狗头。最近申请和面试基本结束,刚刚过了Google的HC。我的本科读的是商学,所以算是文科转码和0基础转码的一员。在这里想跟大家分享一下我面对面试刷题的心得~注:Google的招人模式比较特别,过了HC可以视为被Google接受并且已经结束了所有...

【91专访】 微软大佬 cabbage 分享算法面试心得

2021-07-27
阅读 2 分钟
3.2k
最近得知 cabbage 拿到了微软的 offer,并在准备拿其他更大公司的 offer。就迫不及待地联系了他,希望他本人可以接受采访。于是这篇采访稿就和大家见面了。

手把手教你刷搜索

2021-06-02
阅读 15 分钟
3.1k
搜索一般指在有限的状态空间中进行枚举,通过穷尽所有的可能来找到符合条件的解或者解的个数。根据搜索方式的不同,搜索算法可以分为 DFS,BFS,A*算法等。这里只介绍 DFS 和 BFS,以及发生在 DFS 上一种技巧-回溯。

某区块链公司竟然用这道算法题来面试

2021-05-25
阅读 9 分钟
2.8k
题目是《判断一棵树是否为平衡二叉树》,所谓平衡二叉树指的是二叉树中所有节点的左右子树的深度之差不超过 1。输入参数是二叉树的根节点 root,输出是一个 bool 值。

读者:西法,记忆化递归究竟怎么改成动态规划啊?

2021-05-18
阅读 11 分钟
4.1k
title: tags: [算法, 动态规划]date: 2021-05-18categories:[动态规划]我在动态规划专题反复强调了先学习递归,再学习记忆化,最后再学动态规划。其中原因已经讲得很透了,相信大家已经明白了。如果不明白,强烈建议先看看那篇文章。尽管很多看了我文章的小伙伴知道了先去学记忆化递归,但是还是有一些粉丝问我:“记忆化...

动态规划到底有多难?

2021-04-21
阅读 17 分钟
5.7k
它的大概意思先将一件事情分成若干阶段,然后通过阶段之间的转移达到目标。由于转移的方向通常是多个,因此这个时候就需要决策选择具体哪一个转移方向。

为何我刷了很多,遇到新的题还是唯唯诺诺,无法重拳出击?

2021-04-06
阅读 9 分钟
2.3k
为何我刷了很多题,遇到新的题还是唯唯诺诺,无法重拳出击?为何一看就会一些就废?这其中又隐藏着怎样的秘密?究竟是道德的沦丧还是人性的扭曲?欢迎收看本期的 走出科学 特别栏目。
封面图

几乎刷完了力扣所有的二分题,我发现了这些东西。。。(下)

2021-03-23
阅读 17 分钟
3.5k
大家好,我是 lucifer。今天给大家带来的是《二分》专题。先上下本文的提纲,这个是我用 mindmap 画的一个脑图,之后我会继续完善,将其他专题逐步完善起来。

春招冲冲冲(钉钉+腾讯)

2021-03-17
阅读 2 分钟
2.5k
春招已经开始了。 你是不是已经开始准备了呢?为了帮助大家获得更好的 offer,lucifer 开辟了春招冲冲冲栏目。今天我们的猎物是钉钉和腾讯。来看看这两家的算法题难度几何吧!​<!-- more -->视频地址:[链接]钉钉比较版本号(力扣题号 165.比较版本号)一次遍历即可,唯一需要注意的是补全再比较(逻辑补全即可,...

力扣刷题插件近期更新盘点

2021-03-16
阅读 1 分钟
2.6k
手撕算法系列插件增加了手撕算法系列。那么作为第一篇手撕算法上线的就是我们的排序算法。排序算法目前我提供了五种排序算法,它们分别是:归并排序(推荐!其他排序方法都不推荐在竞赛中使用)快速排序插入排序选择排序冒泡排序每一种排序都对数组和链表两种数据结构进行了支持。同时,为了对新手更加优化, 对于归并排...

几乎刷完了力扣所有的二分题,我发现了这些

2021-03-09
阅读 6 分钟
2.9k
大家好,我是 lucifer。今天给大家带来的是《二分》专题。先上下本文的提纲,这个是我用 mindmap 画的一个脑图,之后我会继续完善,将其他专题逐步完善起来。

阿里面试题:如何寻找「两个数组」的中位数?

2021-02-25
阅读 8 分钟
2.4k
题目地址(4. 寻找两个正序数组的中位数)[链接]题目描述 {代码...} 前置知识中位数分治法二分查找公司阿里百度腾讯暴力法思路首先了解一下 Median 的概念,一个数组中 median 就是把数组分成左右等分的中位数。如下图:知道了概念,我们先来看下如何使用暴力法来解决。试了一下,暴力解法也是可以被 Leetcode Accept 的。...

我是如何用「最大公约数」秒杀算法题的

2021-02-24
阅读 4 分钟
3.1k
关于最大公约数有专门的研究。 而在 LeetCode 中虽然没有直接让你求解最大公约数的题目。但是却有一些间接需要你求解最大公约数的题目。比如:914. 卡牌分组365. 水壶问题1071. 字符串的最大公因子因此如何求解最大公约数就显得重要了。如何求最大公约数?定义法 {代码...} 复杂度分析时间复杂度:最好的情况是执行一次...