- 博客(18)
- 收藏
- 关注
原创 算法刷题总结—前缀和数组、差分数组、线段树、树状数组
前缀和数组、差分数组、线段树、树状数组均用于处理区间问题,主要的应用场景区别如下:1.前缀和数组:用于处理操作的情况,取区间期间不能对原数组进行区间增减数操作2.差分数组:用于处理,常量次操作的情况 O(n) 适用数据范围 1e73.线段树:用于操作的情况 O(logn) 适用数据范围 1e54.树状数组:用于,期间多次读取区间和(即修改期间读取频繁)操作的情况。树状数组相对于线段树来说代码较为简单,但树状数组不支持区间更新。O(logn)说明:线段树的适用范围涵盖了树状数组。
2023-05-26 11:14:40 349
原创 算法刷题总结—位运算、离散化、区间合并
比如n的范围是10^9,但实际输入数的个数只有10^5,存储的时候如果直接开辟x数据范围大小的存储空间会大大影响,可将所有数排序后映射到符合x实际个数的存储空间上存储,这就是离散化。接下来,进行 m 次询问,每个询问包含两个整数 l 和 r,你需要求出在区间 [l,r]之间的所有数的和。共一行,包含 n 个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中 1 的个数。区间合并指的是将一系列区间进行合并,若有交集的部分就合并,输出最后合并后单独的区间数量。
2023-05-18 15:09:09 160
原创 算法刷题总结—双指针算法
双指针算法是解题过程中常用的优化算法,可将两重for循环通过双指针算法进行优化时间复杂度O(n),i最多遍历n次,j最多遍历n次关键点:分析i和j之间满足的单调性下面看几道具体的双指针算法的例子。
2023-05-17 20:18:33 208
原创 算法刷题总结—最小生成树算法
最小生成树算法包括Prim算法和Kruskal算法,稠密图一般使用朴素班Prim算法,稀疏图使用Kruskal算法,下面分别介绍这两种方法。
2023-05-17 13:40:57 839
原创 算法刷题总结—并查集
并查集主要维护以下两个操作:①将两个集和合并②询问两个元素是否在一个集和当中基本原理:每个集和用一颗树来表示,树的根节点的编号就是整个集和的编号。每个结点存储它的父结点信息,p[x]表示x的父结点问题1:如何判断树根 if(p[x] == x)问题2:如何求x的集和编号 while(p[x]!问题3:如何合并两个集和 px是x的集和编号,py是y的集和编号 p[x] = y并查集的优化策略:路径压缩(让所有结点直接指向根结点,递归过程中优化即可)下面看两道例题。
2023-05-17 10:50:29 60
原创 算法刷题总结—最短路径算法2(Bellman-Ford,Spfa,Floyd)
常用最短路径算法总结如下:针对单源最短路中存在负权边的问题,常用的两个算法分别为Bellman-Ford算法和SPFA算法。
2023-05-16 18:31:10 443
原创 算法刷题总结—最短路径算法1(Dijkstra)
此时结果集和内有a和d,再用这两个点更新其它点到起点的距离,起点可以到的点有b,f,c,最短距离分别为6,7,5,选择c加入结果集合,更新dist数组。由集和s内的点,更新其它点到起点的距离,与a相邻的点有b和d,最短距离分别为6和4,选择最短的距离的点d加入结果集和,更新dist数组。此时s内有a,c,d,起点可以到的点有b,f,e,最短距离分别为6,7,12,将b加入结果集和s。此时s内有a,b,c,d,起点可以到的点有e和f,最短距离分别为12和7,将f加入结果集合s。
2023-05-16 14:49:52 438 1
原创 图解HTTP第3章 HTTP报文内的HTTP信息
1.HTTP报文用于HTTP协议交互的信息被称为HTTP报文。客户端的HTTP报文叫做请求报文,响应端的HTTP报文叫做响应报文。HTTP报文大致可分为报文首部和报文主体两块,两者由空行划分。通常,并不一定要有报文主体。 报文首部:服务器端或客户端需处理的请求或响应的内容及属性 报文主体:应被发送的数据 2. 请求报文及响应报文的结构请求报文和响应报文的首部内容由一下数据组成:请求行包含用于请求的方法,请求的URI和HTTP版本。状态行包含表明响应...
2021-10-26 20:32:55 1041
原创 图解HTTP第二章-简单的HTTP协议
HTTP的作用:HTTP协议用于客户端与服务器端之间的通信,使用HTTP协议能够区分哪端是客户端,哪端是服务器端。1.通过请求和响应的交换达成通信HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并返回。下面为一请求报文:GET/index.htm HTTP/1.1Host: hackr.jp起始行开头的GET标识请求访问服务器的类型,称为方法。随后的字符串/index.htm指明了请求访问的资源对象,也叫做请求URI。最后的HTTP/1.1,即HTTP版本号,用来提示客户端
2021-10-26 10:43:57 181
原创 图解http第一章:了解Web及网络基础
1.使用HTTP协议访问WebWeb是建立在HTTP协议上通信的2.网络基础TCP/IP通常使用的网络(包括互联网)是在TCP/IP协议族的基础上运作的,而HTTP属于它内部的一个子集。TCP/IP是互联网相关的各类协议族的总称。TCP/IP的分层管理TCP/IP协议族按乘次分别分为一下4层:应用层、传输层、网络层和数据链路层。应用层:应用层决定了向用户提供应用服务时的通信的活动。TCP/IP协议族内预存了各类通用的应用服务。比如FTP和DNS服务就是其中的两类。.
2021-10-26 10:04:33 114
原创 力扣:链表的合并
题目:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。解法一:递归法思路:首先判断两类特殊情况,l1或l2中有一个为空的情况,然后比较l1和l2的数值大小,若l1->data < l2->data,则l1->next为新的头结点,进行mergeLists(l1->next,l2)递归,反之同理。class Solution {public: ListNode* mergeTwoLists(ListNode* l1,..
2021-10-11 23:39:49 217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人