undefined

贪心算法:在某一个标准下,优先考虑最满足标准的样本,最后考虑最不满足标准的样本,最终得到一个答案的算法,叫做贪心算法
也就是说,不从整体最优上加以考虑,所做出的是在某种意义上的局部最优解
局部最优 -> 整体最优

贪心算法在笔试时的解题套路

  1. 实现一个不依靠贪心策略的解法 X,可以用最暴力的尝试
  2. 脑补出贪心策略A、贪心策略B、贪心策略C …
  3. 用解法 X 和对数器,去验证每一个贪心策略,用实验的方式得知那个贪心策略正确
查看更多

undefined

树形DP套路:

树形DP套路使用前提:如果题目求解目标是死规则,则求解流程可以定成以每一个节点为头节点的子树在死规则下的每一个答案,并且最终答案一定在其中

1
2
3
4
// 常见的分类标准,可能性分类
// 分两种情况,头节点参与 和 头节点不参与
// 1. 头节点不参与,那就是左树上的最大距离 或者 有树上的最大距离
// 2. 头节点参与,这种情况就是 左树的高度 + 1 + 右树上的高度

树形dp套路第一步: 以某个节点X为头节点的子树中,分析答案有哪些可能性,并且这种分析是以X的左子 树、X的右子树和X整棵树的角度来考虑可能性的

查看更多

undefined

ES 集群、节点、分片、索引、备份 之间的概念:https://www.zhihu.com/question/26446020

1. 集群(cluster)

一个 ES 集群由一个或多个节点(Node)组成,每个集群都有一个 cluster name 作为标识

2. 节点(node)

一个 ES 实例就是一个 node,一个机器可以有多个实例。大多数情况下每个node 运行在独立的环境或虚拟机上

3. 索引(index)

一系列文档(documents)的集合

对于一个索引,除非重建索引否则不能调整主分片的数目,但可以随时调整备份分片的数目

查看更多

undefined

Elastic Stack 生态圈

一、软件

docker 上启动 elasticsearch:docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "cluster.name=elasticsearch" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d elasticsearch:7.10.1

cerebro 软件:可以查看到 elasticsearch 集群的一些信息。比如节点数、文档数、占用空间等等

Logstash:保证和 elasticsearch 版本一致。

查看更多

undefined

一、yaml文件

1. 语法格式

  1. 使用空格做为缩进,通过缩进表示层级关系,一般开头两个空格,字符后一个空格,比如冒号,逗号等后面
  2. 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  3. 低版本缩进时不允许使用 Tab 键,只允许使用空格
  4. 使用#标识注释,从这个字符一直到行尾,都会被解释器忽略
查看更多