给定两个大小分别为 m
和 n
的正序(从小到大)数组 nums1
和
nums2
。请你找出并返回这两个正序数组的
中位数 。
算法的时间复杂度应该为 O(log (m+n))
给定两个大小分别为 m
和 n
的正序(从小到大)数组 nums1
和
nums2
。请你找出并返回这两个正序数组的
中位数 。
算法的时间复杂度应该为 O(log (m+n))
MQ 问题三剑客:消息不丢失、不重复、消息堆积问题!这篇文章来分析下最后一个问题。
在 MQ 中,「消息不丢」和「消息不重」一直都是一对孪生兄弟。消息不重复也是非常重要的,例如在金融场景,发送了一条给同一个账户扣减余额的消息,如果这条消息被重复消费了,多次扣除,这是无法容忍的。
一般性的思路是:只保证消息只发送一次不就好了嘛,也就是保证生产者对同一条消息仅发送一次给 Broker,然后消费者从 Broker 自然只能获取到一次消息,那么自然就能够保证消息不会重复。但是这种方案从目前 MQ 的实现来看是无法实现的,消息一定会出现重复的情况!下面就来分析下。
在我们日常业务使用 MQ 时,如何保证消息不丢失失一个特别需要关注的点。在某些业务场景下消息的丢失造成的影响可能不大,比如购物车,下单后删除购物车对应商品的消息丢失了还可以容忍,但是在金融场景下,消息丢失了往往代表着资产的损失,这是无法容忍的。
当然,即使在丢失影响不大的场景下,我们也要尽可能的保证消息不丢失,不然业务流程就会不完整。
综述,用到了 MQ,保证消息不丢失就很关键。那么如何保证呢?我们需要分析下 MQ 的整个链路。
HTTPS 可不是 HTTP 的复数形式哈🤣,HTTPS 是在 HTTP 与 TCP 层之间加入了
SSL/TLS
协议,那有了什么提升呢?
斐波那契作为动态规划入门题,大家肯定都会写,毕竟题目都把递推公式给出了,直接一个循环就结束了。
贴下题目链接:LCR 126. 斐波那契数
但是直接使用循环,时间复杂度是 O(N) 的,在数据量很大的情况下,也是会超时的。那能不能用 O(logN) 的做法来完成呢?可以!具体怎么做,接着看吧。