摘要:
数组算法 完美洗牌算法 窗口大小为K的最大子数组和 寻找最小的k个数 寻找和为定值的两个数 数组中出现次数超过一半的数字 寻找二维数组递增数组的一个数 奇偶数排序 荷兰国旗 删除有序数组中的重复值 完美洗牌算法 c语言随机数如何产生: 利用srand((unsigned int)(time(NULL 阅读全文
摘要:
原文链接 问题说明 当我们在github版本库中发现一个问题后,你在github上对它进行了在线的修改;或者你直接在github上的某个库中添加readme文件或者其他什么文件,但是没有对本地库进行同步。这个时候当你再次有commit想要从本地库提交到远程的github库中时就会出现push失败的问 阅读全文
摘要:
布隆过滤器 布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “一定不存在或者可能存在”。 相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性 阅读全文
摘要:
字典树 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高,缺点是内存开销大。 字典 阅读全文
摘要:
原文链接 霍夫曼编码(Huffman Coding)是一种编码方法,霍夫曼编码是可变字长编码(VLC)的一种。 霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码, 阅读全文
摘要:
BF暴力匹配算法 所谓暴力匹配,就是从字符串第一个字符开始,一个一个与被匹配的字符串按顺序比对,如果有一个不配,则字符串右移一位,继续重新开始一个一个比较,直到完全匹配或者匹配结束都没有匹配上。 #include <stdio.h> #include <string.h> //BF暴力匹配字符串 / 阅读全文
摘要:
原文链接 前言 事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用;事实上,在网络编程中事件驱动也被广泛使用,并大规模部署在高连接数高吞吐量的服务器程序中,如 http 服务器程序、ftp 服务器程序等。相比于传统的网络编程方式,事件驱动能够极大的降低资源占用,增大服务接待能 阅读全文
摘要:
原文链接 Go modules 是 Go 语言中正式官宣的项目依赖解决方案,Go modules(前身为vgo)于 Go1.11 正式发布,在 Go1.14 已经准备好,并且可以用在生产上(ready for production)了,Go 官方也鼓励所有用户从其他依赖项管理工具迁移到 Go mod 阅读全文
摘要:
文件相关快捷键: CTRL+E,打开最近浏览过的文件。 CTRL+SHIFT+E,打开最近更改的文件。 CTRL+N,可以快速打开struct结构体。 CTRL+SHIFT+N,可以快速打开文件。代码格式化:CTRL+ALT+T,可以把代码包在一个块内,例如if{…}else{…}。 CTRL+AL 阅读全文
摘要:
在计算机内存昂贵,处理能力有限的美好旧时光里,用比较骇客的位运算方式去处理信息是首选方式(某些情况下只能如此)。时至今日,直接使用位运算仍然是很多计算领域中不可或缺的部分,例如底层系统编程,图形处理,密码学等。 Go 编程语言支持以下按位运算符: & bitwise AND | bitwise OR 阅读全文