Mac M1 怎么装 ClickHouse?Docker 和二进制两条路都给你走通
在 M1 的 Mac 上装 ClickHouse,最容易踩的坑是镜像架构对不上。
很多老教程还在用 yandex/clickhouse-server 这个镜像名,它早就改名了,而且不一定有 arm64 版本。
下面给两条路:图省事用 Docker,想要原生性能就用官方二进制。
在 M1 的 Mac 上装 ClickHouse,最容易踩的坑是镜像架构对不上。
很多老教程还在用 yandex/clickhouse-server 这个镜像名,它早就改名了,而且不一定有 arm64 版本。
下面给两条路:图省事用 Docker,想要原生性能就用官方二进制。
求一组字符串的最长公共前缀,是 LeetCode 第 14 题。
题目很短:给你一个字符串数组,找出它们共有的最长前缀;没有就返回空字符串。
我第一次做的时候随手写了个横向扫描,过了,但总觉得不踏实。
给你一个字符串 s,要找出里面最长的那段回文子串。
这就是 LeetCode 第 5 题,面试里出现频率很高。
先说清楚两个容易混的概念。
子串是连续的,子序列可以不连续,这题要的是连续子串。
线上服务连不上,或者接口时不时超时,是日常里最磨人的一类问题。
现象看着都差不多,根因可能差出十万八千里:网卡、路由、防火墙、对端进程、甚至自己代码没关连接。瞎猜没用。
冒泡排序是一种通过反复比较相邻两个元素、把较大值逐步"浮"到末尾的排序算法。
注意这两个字:相邻。
这是它和选择排序最大的区别,也是最容易写错的地方。
刚开始学算法那会儿,我老把时间复杂度和空间复杂度搞混,背了一堆 O(n)、O(log n) 却不知道怎么从代码里推出来。
这篇就把怎么算讲清楚,全程用 Go 代码举例,看完你自己就能估算一段代码跑得快不快、占多少内存。