
算法
严严严的博客
做一些技术备案,方便学习
展开
-
JAVA 把一个List运用递归转成树形结构
在开发中,我们会遇到将不同组织架构合并成tree这种树状结构,那么如果做呢?实际上,我们也可以理解为如何将拥有父子关系的list转成树形结构,而这其中主要的方法就是递归!1、实体对象:@Datapublic class Node { private Integer id; private String city; private Integer pid; private List<Node> children; public Node(Inte原创 2021-06-15 09:34:51 · 91578 阅读 · 2 评论 -
均匀推送数量逻辑
在开发中,经常遇到要均匀展示在一段时间内的数目变化,例如2分钟内活跃人数,得均匀递增展示出来。这时需要后台在指定时间内均匀的将数量推送给前端显示;@Slf4jpublic class Task { public static void main(String[] args) { pushLoginCount("活跃人数",10,60,10); } /** * 比如均匀推送登入人数 * @param type 推送的服务类型 *原创 2020-06-22 14:19:49 · 7572 阅读 · 0 评论 -
红包算法
规则:所有人抢到金额之和等于红包金额,不能超过,也不能少于每个人至少抢到一分钱要保证所有人抢到金额的几率相等文章目录一、二倍均值法二、线段分割法三、红包面试题一、二倍均值法剩余红包金额M,剩余人数N,那么:每次抢到金额=随机(0,M/N2)保证了每次随机金额的平均值是公平的假设10人,红包金额100元第一人:100/102=20,随机范围(0,20),平均可以抢到10元第二人:90/92=20,随机范围(0,20),平均可以抢到10元第三人:80/82=20,随机范围(0,20),原创 2020-06-16 11:25:43 · 11589 阅读 · 2 评论 -
十大排序算法专题 java实现:冒泡、选择、插入、希尔、归并、快速、堆排序、计数、桶、基数
文章目录1、冒泡排序(Bubble Sort)2、选择排序(Selection Sort)3、插入排序(Insertion Sort)1、冒泡排序(Bubble Sort)冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会...原创 2020-03-02 15:24:17 · 26025 阅读 · 0 评论 -
微服务架构专题六:负载均衡算法 (二)一致性哈希和最小活跃数算法
一、一致性哈希算法 —ConsistentHashLoadBalance服务器集群接收到一次请求调用时,可以根据请求的信息,比如客户端的IP地址,或请求路径与请求参数等信息进行哈希,可以得到一个哈希值,特点是对于相同的IP地址,或请求路径与请求参数哈希出来的值一样的,只要能再添加一个算法,就能够把哈希值映射成一个服务端IP地址,就可以使相同的请求(相同的IP地址,或请求路径与请求参数)落到同一...原创 2020-01-10 13:54:26 · 23295 阅读 · 0 评论 -
微服务架构专题六:负载均衡算法 (一)随机和轮询
负载均衡算法常见的负载均衡算法有:随机算法、加权轮询、一致性hash、最小活跃数算法算法前提条件:定义一个服务器列表,没个负载均衡的算法会从中挑出一个服务器作为算法的结果。public class ServerIps { public static final List<String> LIST = Arrays.asList( "192.168...原创 2020-01-10 12:12:00 · 23931 阅读 · 1 评论