后端
03.python算法基础知识理解
程序 = 数据结构+算法
一个程序,有多种解决实际问题的解法,就涉及到算法;听说多训练算法思维,测试过程基本也不会漏测,赶紧多训练下;
本篇主要理解下算法解题中涉及到的几种概念,时间复杂度+空间复杂度
1、时间复杂度:用来评估算法运行效率的式子
image.png
小结:
1、算法要考虑时间复杂度。时间复杂度是用来估计算法运行时间的一个式
Nginx 负载均衡
Nginx 简介
Nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD协议下发行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及 Microsoft Windows等操作系统中运行。
Nginx由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎R
1700. 无法吃午餐的学生数量
题目:
学校的自助午餐提供圆形和方形的三明治,分别用数字 0 和 1 表示。所有学生站在一个队列里,每个学生要么喜欢圆形的要么喜欢方形的。
餐厅里三明治的数量与学生的数量相同。所有三明治都放在一个 栈 里,每一轮:
如果队列最前面的学生 喜欢 栈顶的三明治,那么会 拿走它 并离开队列。
否则,这名学生会 放弃这个三明治 并回到队列的尾部。
这个过程会一直持续到队列里所有学生都不喜欢栈顶的三明治为止
Go语言的k8s开发-02-Namespace操作
1. 结构体
1.1 NamespaceList
所在包:"k8s.io/api/core/v1"
type NamespaceList struct {
v1.TypeMeta `json:",inline"`
v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
It
Zookeeper-源码分析-启动+选择群首
1.启动Socket服务绑定2181端口
1.初始化操作 QuorumPeerMain.java 启动main方法
调用initializeAndRun()方法
2.数据加载到内存
针对于集群方面的功能,server开头的配置项进行判断是否属于何角色的对象存入到对应的follower或者obvservers,其他不属于在observers的对象存入到servers列表信息。
Quoruma
基于Redis实现消息队列
基于Redis实现消息队列
1.业务场景
假设在没有专业消息中间件的情况下,又要通过消息队列去解耦。redis是个更好的选择。
2.实现方式
简要说明实现方式,这里只做个大概的概括
发布与订阅(缺点:典型的一对一,不支持多个消费者公平消费消息,消息无法持久化,如果出现网络断开、Redis 宕机等,消息就会被丢弃等问题)
list队列(缺点:没有很好 ACK 机制,没有 ConsumerGroup
945. 使数组唯一的最小增量
题目:
给你一个整数数组 nums 。每次 move 操作将会选择任意一个满足 0 <= i < nums.length 的下标 i,并将 nums[i] 递增 1。
返回使 nums 中的每个值都变成唯一的所需要的最少操作次数。
示例 1:
输入:nums = [1,2,2]
输出:1
解释:经过一次 move 操作,数组将变为 [1, 2, 3]。
示例 2:
输入:nums =
