Webclient学习记录
WebCLient 概述WebClient 是一个接口,表示执行 Web 请求的主要入口点。是 Spring Web Reactive 模块的一部分,用于取代经典的 RestTemplate。此外,这个新的客户端是一个基于 HTTP/1.1 协议的响应式、非阻塞解决方案。 该接口只有一个实现,即我们将要使用的 DefaultWebClient 类 使用 引入依赖spring-boot-starter-webflux 使用 maven 构建 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId></dependency> 使用创建实例 使用 WebClient 对象 1WebClient client = WebClient.create(); 使用给定的 url 初始化 1WebClient client = WebC...
第六章 贪心
贪心一个贪心算法总是做出当前最好的选择,也就是说,它期望通过局部最优选择从而得到全局最优的解决方案。—《算法导论》 区间问题区间选点 1234567891011121314151617181920212223242526272829303132using namespace std;const int N = 100010;int n;struct Range{ int l,r; bool operator <(const Range& W)const{ return r<W.r; }//重载小于号}range[N];int main(){ scanf("%d", &n); for (int i = 0; i < n; i ++ ){ int l,r; scanf("%d%d", &l, &r); range[i]={l,r};...
第五章 动态规划
Dp 动态规划闫氏 Dp 分析法: 背包问题0,1 背包问题n 个物品,v 表示物品的体积,w 表示物体的价值,每个物品只能使用一次。状态转移方程:dp[j]=max(dp[j],dp[j-v[i]]+w[i]);朴素写法 12345678910111213141516171819202122using namespace std;const int N=1010;int n,m;int v[N],w[N];//v代表体积,w代表价值int f[N][N];int main(){ cin>>n>>m; for(int i=1;i<=n;i++)cin>>v[i]>>w[i]; for(int i=1;i<=n;i++)//i代表这n件物品 { for(int j=1;j<=m;j++){//j代表背包容量 if(v[i]>j)//如果v[i]的容量大于当前的背包容量则不装进行下一个 f[i]...
第四章 数学知识
数学知识质数因数只包含 1 和本身的数 试除法判定质数时间复杂度:O(n^1/2) 12345678bool is_prime(int x){ if (x < 2) return false; for (int i = 2; i <= x / i; i ++ ) if (x % i == 0) return false; return true;} 试除法分解质因数思路: x 的质因子最多只包含一个大于 根号 x 的质数。如果有两个,这两个因子的乘积就会大于 x,矛盾。 i 从 2 遍历到 根号 x。 用 x / i,如果余数为 0,则 i 是一个质因子。 s 表示质因子 i 的指数,x /= i 为 0,则 s++, x = x / i 。 最后检查是否有大于 根号 x 的质因子,如果有,输出。 123456789101112void divide(int x){ for (int i = 2; i <= x / i; i ++ ) if (x ...
第三章 搜索与图论
搜索与图论树与图的存储树是一种特殊的图,所以我们只需要掌握图的存取就可以,对于无向边,我们存储两条有向边,那么我们只考虑有向图的存储就可以了 存储方式领接矩阵:用来存储稠密图领接矩阵:g[a][b]存储 a->b 的权重领接表: 1234567891011// 对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点int h[N], e[N], ne[N], idx;// 添加一条边a->bvoid add(int a, int b){ //存下b的值,b下一个指向a的下个一节点,a的下一个节点指向b e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ;}// 初始化idx = 0;memset(h, -1, sizeof h); 树与图的遍历dfs 深度优先遍历12345678910int dfs(int u){ st[u] = true; // st[u] 表示点u已经被遍历过 for (int i = h[u]; i != -1; i = ne[i...
第二章 数据结构
数据结构链表单链表的操作 初始化 插入 删除时间复杂度:O(1) 单链表1234567891011121314151617181920const int N=100010;int head,e[N],ne[N],idx;//初始化void init(){ head=-1; idx=0;}//在链表头部添加节点void add_to_head(int x){ e[idx]=x,ne[idx]=head,head=idx++;}//在位置k添加节点xvoid add(int k,int x){ e[idx]=x,ne[idx]=ne[k],ne[k]=idx++;}//删除位置k的节点void remove(int k){ ne[k]=ne[ne[k]];} 双链表示例: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455...
)
