深入浅出系列-如何设计高并发架构 高并发概述高并发系统是指能够同时处理大量请求的计算机系统。例如,电子商务网站在促销活动期间可能会面临大量用户同时登录、浏览和购买商品的情况。这就需要系统在短时间内处理大量的请求,保证网站的稳定性和用户体验。高并发系统需要具备高性能、高可用性、可扩展性、可靠性等特点。 设计理念要设计高并发系统,需要做以下几件事: 分析需求:明确系统的业务流程、访问量、响应时间和用户活跃度等关键参数。 预估负载: 2023-03-07 架构设计 #架构 #高并发
算法-二维数组查找系列 描述在一个 n * m 的二维数组中,每一行都按照从左到右 非递减 的顺序排序,每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例,现有矩阵 matrix 如下: 1234567[ [1,4,7,11,15], [2,5,8,12,19], [3,6,9,16,22], 2023-03-07 算法 #数组
算法-用两个栈实现队列 描述用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 ) 示例 1: 输入:["CQueue","appendTail","deleteHead","delete 2023-02-28 算法
算法-数组中重复的数字数组中重复的数字 描述找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制: 2 <= n <= 100000 解决方案在一个长度为 n 的数组 2023-02-28 算法 #数组 #二分查找
算法-TopK问题 描述输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2: 输入:arr = [0,1,2,1], k = 1输出:[0] 限制: 0 <= k <= arr.l 2022-12-29 算法 #数组
算法-反转链表 描述给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。 数据范围: 0≤n≤1000要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) 。 如当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。以上转换过程如下图所示: 示例1输入:{1,2,3} 2022-11-27 算法 #链表