算法题 | 你能想出解法,让你的基友少氪金吗?

大家好,今天codeforces专题选择的是一场education比赛的C题。 Education是codeforces的一种特殊赛事,它的主要作用是教育,也就是让更多的人了解codeforces的比赛机制。所以education赛事的题会相对来说容易一些,更加适合新手。我选的这道题虽然是C题,但是 ... »

这份算法攻略,我拿到了5个大厂的offer

每个时代,都不会亏待会学习的人。 大家好,我是 yes。 我持续在 LeetCode 刷算法题将近有一年半的时间了,这一年半以来我对算法的看法改变了很多,但是实话实说支持我前进的还是面试。 在之前的文章提到过我是面试驱动型选手,我享受面试官问我啥我都嘴角一翘微微一笑的那种不羁,而近年来算法在面试中的 ... »

今天说说德摩根定律在编程中的实践,题目看的很吓人,其实只要有一点点的高中数学知识就能看懂,而且这部分知识掌握后可以很快的运用到项目中,投资收益比非常高。 ... »

非典型算法题,用程序和电脑玩一个游戏

大家好,欢迎阅读周末算法题专题。 今天选择的算法题是来自contest 1407比赛的C题,这题全场通过6700余人。通过的人数虽然多,但是这题真的不简单,想出算法来不太容易。抛开难度不提,这道题非常非常有意思,老实说这种形式的题目我也是第一次见。 题目链接:https://codeforces.c ... »

几种常用的排序代码

简单的代码 在我的笔记里面找到几种常用的排序代码,包括“冒泡排序、选择排序、二分排序、快速排序”。关于这些排序的原理,我之前是有专门研究的,网上也有很多教程。 package main import ( "fmt" "math/rand" "time" ) func main() { rand.Se ... »

python算法常用技巧与内置库

python算法常用技巧与内置库 近些年随着python的越来越火,python也渐渐成为了很多程序员的喜爱。许多程序员已经开始使用python作为第一语言来刷题。 最近我在用python刷题的时候想去找点python的刷题常用库api和刷题技巧来看看。类似于C++的STL库文档一样,但是很可惜并没 ... »

详解工程师不可不会的LRU缓存淘汰算法

大家好,欢迎大家来到算法数据结构专题,今天我们和大家聊一个非常常用的算法,叫做LRU。 LRU的英文全称是Least Recently Used,也即最不经常使用。我们看着好像挺迷糊的,其实这个含义要结合缓存一起使用。对于工程而言,缓存是非常非常重要的机制,尤其是在当下的互联网应用环境当中,起到的作 ... »

从红黑树的本质出发,彻底理解红黑树!

前言 早上好,我是彤哥。 上一节,我们一起从二叉树、二叉查找树、平衡树、AVL树、2-3树、2-3-4树、B树,一路讲到红黑树,最后得出红黑树的本质:红黑树就是2-3-4树,请看下图: 我们知道2-3-4的插入、删除、查找元素的原理是相当简单的,那么,我们是不是可以利用2-3-4树来记忆红黑树呢? ... »

如何量化并加速你的编程能力【译】

ref: http://blog.thefirehoseproject.com/posts/learn-to-code-and-be-self-reliant/ 加速编程技能的关键 当您学习编程时,有一瞬间一切都开始改变。 在Firehose,我们喜欢将其称为编程的拐点。 在此阶段之后,您作为开发人 ... »

简单语法解析器实现参考

有时候,我们为了屏蔽一些底层的差异,我们会要求上游系统按照某种约定进行传参。而在我们自己的系统层则会按照具体的底层协议进行适配,这是通用的做法。但当我们要求上游系统传入的参数非常复杂时,也许我们会有一套自己的语法定义,用以减轻所有参数的不停变化。比如sql协议,就是一个一级棒的语法,同样是调用底层功 ... »

ACMer不得不会的线段树,究竟是种怎样的数据结构?

大家好,欢迎阅读周三算法数据结构专题,今天我们来聊聊一个新的数据结构,叫做线段树。 线段树这个数据结构很多人可能会有点蒙,觉得没有听说过,但是它非常非常有名,尤其是在竞赛圈,可以说是竞赛圈的必备技能。所以如果以后遇到有人看了一点算法导论就在你面前装逼,你就可以问他:请问线段树更新的复杂度是多少? 不 ... »

模式串 从 0 开始的KMP算法

/** * 看了 b站视频 BV1jb411V78H 对KMP有了一点理解,然后我写了这个代码 * 这个代码和视频里面的有一点不同,字符串是从 0 开始的,而不是从1 开始的 * 希望能够帮到学习KMP的人 */ #include <stdbool.h> #include <malloc.h> #i ... »

数据结构与算法之最好学的最小生成树

数缺形时少直观,形缺数时难入微。 ——华罗庚 序 最小生成树问题是我在各项图论问题中最先理解与解决的,其目的就是在连通图中选择出: 使得各点构成联通的最小边权的边集 其中用到的数据结构与算法也是相对很好理解的并查集和Kruskal算法,我在我之前的文章小话数据结构-图 (聚焦与于实现的理解)也有提到 ... »

全世界最强的算法平台codeforces究竟有什么魅力?

大家好,之前说过由于和LeetCode结了梁子,所以周末的LeetCode专题取消了,给大家写点其他专题的算法问题。目前选择的是国外著名的编程竞赛平台——codeforces。它在竞赛圈名气比较大,对于普通大学生而言可能了解不多。所以今天这篇文章简单和大家介绍一下codeforces这个网站,以及它 ... »