15k 14 分钟

搜索引擎调研 Meilisearch vs Typesense vs Algolia
github https://github.com/Twelveeee/searchEngineTes
6.4k 6 分钟

算法题 字符串操作
转换成小写字母
字符串转换整数
反转字符串
反转字符串 II
仅仅反转字母
验证回文串
字符串中的第一个唯一字符
最长公共前缀
压缩字符串
2.9k 3 分钟

算法题 位运算
位1的个数
2的幂
颠倒二进制位
汉明距离
数组中两个数的最大异或值
两整数之和
递归乘法
3k 3 分钟

算法题 二分查找
山脉数组的峰顶索引
寻找旋转排序数组中的最小值
验证二叉搜索树
将有序数组转换为二叉搜索树
12k 11 分钟

# urfave cli 参考资料 urfave cli 官网:https://cli.urfave.org/ urfave cli github: https://github.com/urfave/cli photoprism (cli 用法参考) : https://github.com/photoprism/photoprism # 简介 cli 是一个用于构建命令行程序的库。 # 快速开始 安装 cli 库,有 v1 和 v2 两个版本。如果没有特殊需求,一般安装 v2 版本: $ go get -u github.com/urfave/cli/v2使用 package...
20k 18 分钟

# MySQL 图解 mysql mysql 源码 # 数据查询过程 连接器:建立连接,管理连接、校验用户身份; 查询缓存:查询语句如果命中查询缓存则直接返回,否则继续往下执行。MySQL 8.0 已删除该模块; 解析 SQL,通过解析器对 SQL 查询语句进行词法分析、语法分析,然后构建语法树,方便后续模块读取表名、字段、语句类型; 执行 SQL:执行 SQL 共有三个阶段: 预处理阶段:检查表或字段是否存在;将 select * 中的 * 符号扩展为表上的所有列。 优化阶段:基于查询成本的考虑, 选择查询成本最小的执行计划; 执行阶段:根据执行计划执行 SQL...
4.3k 4 分钟

算法题 二叉树遍历
二叉树前序遍历
二叉树中序遍历
二叉树后序遍历
二叉树层序遍历
二叉树层序遍历 II
N 叉树的前序遍历
N 叉树的后序遍历
N 叉树的层序遍历
6.2k 6 分钟

# go 协程实现快排 V2 上一期:https://blog.twelveeee.top/2023/Go/go goroutine quicksort/ 使用了 sync.WaitGroup 对 p 的左右两边进行有序的排序 测试出来 使用协程进行排序的效果差于单线程。 现在重新优化了几个版本。 每次递归之后,到最后对于只有几个元素的情况下,再开辟协程进行快排,会大量的创建资源和调用 Goroutine,资源消耗主要不是在排序,而是在创建 Goroutine。所以只有几个元素的情况,会直接使用单线程进行排序。 使用 sync.WaitGroup 的 进行阻塞,在这种情况下不如使用 chan...
-->