当前位置: 首页 > news >正文

蓝桥杯刷题冲刺 | 倒计时14天

作者:指针不指南吗
专栏:蓝桥杯倒计时冲刺

🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾

文章目录

  • 1.最长递增
  • 2.走迷宫
  • 3.解立方根
  • 4.回文特判
  • 5.修改数组

1.最长递增

  • 题目

    链接: 最长递增 - 蓝桥云课 (lanqiao.cn)

    在数列 a1,a2,⋯,a n 中,如果 ai*<*ai*+1<a**i+2<⋯<a**j,则称 a* ia j 为一段递增序列,长度为 ji+1。

    定一个数列,请问数列中最长的递增序列有多长。

    输入描述

    输入的第一行包含一个整数 n*。

    第二行包含 n 个整数 a*1,a2,⋯,*a n,相邻的整数间用空格分隔,表示给定的数列。

    其中, 2≤n≤1000,0≤数列中的数≤10410^4104

    输出描述:

    输出一行包含一个整数,表示答案。

    输入输出样例

    输入

    7
    5 2 4 1 3 7 2
    

    输出

    3
    
  • 第一次 AC 100%

    #include<bits/stdc++.h>
    using namespace std;const int N=1010;int n,ans;
    int a[N];int main()
    {scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&a[i]);}for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(a[j]>=a[j+1]){ans=max(ans,j-i+1);i=j+1;}}}cout<<ans;return 0;
    }
    

    生活不易,我的生活里还是有光的hhh

  • 反思

    这道题用的是 双指针

    i 表示 一个递增序列第一个数的下标;j 表示 一个递增序列后面的数的下标,

    j 不断地往下走,如果下一个数不大于现在的数,做出更新:

    ans 取 max,递增数组的第一个数的下标做出改变,更新为 j+1,即j+1是下一个递增序列的第一个数的下标,暴力枚举到最后

    • 动手在纸上模拟,思路就会很清晰,千万别硬想

2.走迷宫

  • 题目

    链接: 走迷宫 - 蓝桥云课 (lanqiao.cn)

    给定一个 N×M 的网格迷宫 G*。G* 的每个格子要么是道路,要么是障碍物(道路用 1 表示,障碍物用 0 表示)。

    已知迷宫的入口位置为 (x1,y1),出口位置为 (x2,y2)。问从入口走到出口,最少要走多少个格子。

    输入描述

    输入第 1 行包含两个正整数 N,M,分别表示迷宫的大小。

    接下来输入一个 N×M 的矩阵。若 G i,j=1 表示其为道路,否则表示其为障碍物。

    最后一行输入四个整数 x1,y1,x2,y2,表示入口的位置和出口的位置。

    1≤N,M≤100。

    输出描述

    输出仅一行,包含一个整数表示答案。

    若无法从入口到出口,则输出 −1。

    输入输出样例

    示例 1

    输入

    5 5 
    1 0 1 1 0
    1 1 0 1 1 
    0 1 0 1 1
    1 1 1 1 1
    1 0 0 0 1
    1 1 5 5 
    

    输出

    8
    
  • 第一次 AC 72%

    #include<bits/stdc++.h>
    using namespace std;typedef pair<int,int> PII;const int N=110;int n,m;
    int x1,y1,x2,y2;int g[N][N]; 
    int d[N][N];
    int dx[4]={0,0,-1,1},dy[4]={1,-1,0,0};void bfs()
    {memset(d,-1,sizeof d);d[x1][y1]=0;queue<PII> q;q.push({x1,y1});while(q.size()){auto t=q.front();q.pop();for(int i=0;i<4;i++){int x=t.first+dx[i],y=t.second+dy[i];if(d[x][y]==-1&&x>=1&&x<=n&&y>=1&&y<=m&&g[x][y]==1){q.push({x,y});d[x][y]=d[t.first][t.second]+1;if(x==x2&&y==y2){cout<<d[x][y];return ;}}}}}int main()
    {cin>>n>>m;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>g[i][j];cin>>x1>>y1>>x2>>y2;	bfs();return 0;
    }
    
  • 第二次 AC 100%

    #include<bits/stdc++.h>
    using namespace std;typedef pair<int,int> PII;const int N=110;int n,m;
    int x1,y1,x2,y2;int g[N][N]; 
    int d[N][N];
    int dx[4]={0,0,-1,1},dy[4]={1,-1,0,0};int bfs()
    {memset(d,-1,sizeof d);d[x1][y1]=0;queue<PII> q;q.push({x1,y1});while(q.size()){auto t=q.front();q.pop();for(int i=0;i<4;i++){int x=t.first+dx[i],y=t.second+dy[i];if(d[x][y]==-1&&x>=1&&x<=n&&y>=1&&y<=m&&g[x][y]==1){q.push({x,y});d[x][y]=d[t.first][t.second]+1;if(x==x2&&y==y2){return d[x][y];}}}}return -1;
    }int main()
    {cin>>n>>m;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>g[i][j];cin>>x1>>y1>>x2>>y2;	cout<<bfs();return 0;
    }
    
  • 反思

    标准的模板题,眼高手低,第一次,没有仔细阅读输出提示,-1 的情况

3.解立方根

  • 题目

    链接: 解立方根 - 蓝桥云课 (lanqiao.cn)

    给定一个正整数 N,请你求 N 的立方根是多少。

    输入描述

    第 1 行为一个整数 T,表示测试数据数量。

    接下来的 T 行每行包含一个正整数 N

    1≤T10510^5105,0≤N10510^5105

    输出描述

    输出共 T 行,分别表示每个测试数据的答案(答案保留 3 位小数)。

    输入输出样例

    输入

    3
    0
    1
    8
    

    输出

    0.000
    1.000
    2.000
    
  • 第一次 AC 100%

    #include<bits/stdc++.h>
    using namespace std;#define eps 1e-5int main()
    {int n;scanf("%d",&n);while(n--){int t;scanf("%d",&t);double x=t; double l=0,r=x;while(r-l>eps){double mid=(l+r)/2;if(mid*mid*mid<x) l=mid;else r=mid;} printf("%.3f\n",r); }return 0;
    }
    
  • 反思

    刚看到这道题是先把原来记的笔记看了一遍才能 AC 的
    大家可以移步于这里来看->【算法】二分

    做各种题型的真题,把所有知识点都全部重新复习一遍

    二分

    • 重要的就是把三个板子记住,以及浮点数板子
    • 在浮点数精度问题上,和在某范围内查找某个数的时候特别是大范围就使用二分算法

4.回文特判

  • 题目

    链接: 回文判定 - 蓝桥云课 (lanqiao.cn)

    给定一个长度为 n 的字符串 S。请你判断字符串 S 是否回文。

    输入描述

    输入仅 1 行包含一个字符串 S

    1≤∣S∣≤10610^6106,保证 S 只包含大小写、字母。

    输出描述

    若字符串 S 为回文串,则输出 Y,否则输出 N

    输入输出样例

    示例 1

    输入

    abcba
    

    输出

    Y
    

    示例 2

    输入

    abcbb
    

    输出

    N
    
  • 第一次 AC 100%

    #include<bits/stdc++.h>
    using namespace std;int main()
    {string a;cin>>a;	string t=a;reverse(t.begin(),t.end());string b=t;if(a==b)puts("Y");else puts("N");return 0;
    }
    
  • 补充知识——reverse 函数

    1. reverse是C++下的库函数,可用于翻转字符串,翻转链表等

    2. 使用需要添加头文件

      #include <algorithm>

    3. reverse()会将区间[beg,end)内的元素全部逆序;
      其中区间翻转

      1.reverse(str.begin(),str.end()) 反转字符串2.reverse(vector.begin(),vector.end()) 反转向量3.reverse(a,a+strlen(a)) 反转数组
      
    4. 该函数无返回值

    5. 错误使用

      int main()
      {int a[99];for(int i = 0; i < 10; i++){cin >> a[i];}a.reverse();//错误,所有的类型结构,都是不可以的!for(int i = 0; i < 10; i++){cout << a[i];}
      }
      
  • 反思

    reverse 函数

    无返回值,使用临时变量,不免a原始值发生改变

    注意拼写和使用方法,不要a.reverse()

5.修改数组

  • 题目

    链接: 修改数组 - 蓝桥云课 (lanqiao.cn)

    给定一个长度为 N 的数组 A*=[A1,A2,⋅⋅⋅,AN*],数组中有可能有重复出现的整数。

    现在小明要按以下方法将其修改为没有重复整数的数组。小明会依次修改A2,A3,⋅⋅⋅,A N

    当修改A i 时,小明会检查 A i 是否在 A1 ∼ A i−1 中出现过。如果出现过,则小明会给 A i 加上 1 ;如果新的 A i 仍在之前出现过,小明会持续给 A i 加 1 ,直 到 A i 没有在 A1 ∼A i−1 中出现过。

    A N 也经过上述修改之后,显然 A 数组中就没有重复的整数了。

    现在给定初始的 A 数组,请你计算出最终的 A 数组。

    输入描述

    第一行包含一个整数 N

    第二行包含 N 个整数 A1,A2,⋅⋅⋅,AN

    其中,1≤N10510^5105,1≤A i10610^6106

    输出描述

    输出 N 个整数,依次是最终的 A*1,A2,⋅⋅⋅,*AN。

    输入输出样例

    示例

    输入

    5
    2 1 1 3 4
    

    输出

    2 1 3 4 5
    
  • 第一次 AC 0%

    #include<bits/stdc++.h>
    using namespace std;const int N=1e5+10;int n;
    int a[N];
    int p[N];int main()
    {	scanf("%d",&n);for(int i=0;i<n;i++)scanf("%d",&a[i]); p[a[0]]=a[0];for(int i=1;i<n;i++){if(p[a[i]]==p[a[0]]) //说明重复{do{a[i]++;}while(p[a[i]]==p[a[0]]); //加完之后的元素还是重复就继续,否则跳出来 p[a[i]]=p[a[0]];}}for(int i=0;i<n;i++)printf("%d ",a[i]); return 0;} 
    

    没有对 p 初始化;

    当元素不同的时候,没有把该元素放进去集合里面,所以集合里面只有以a[0]及和a[0]重复之后,操作加进去的数

  • 第二次 AC 80% + 超时 20%

    思路

    1. 遍历整个数组,判断每个元素是否和前面重复

    2. 不重复:直接放进集合里面

      重复:元素+1,直到与集合里面的元素不重复,然后放进集合里面去

    #include<bits/stdc++.h>
    using namespace std;const int N=1e5+10;int n;
    int a[N];
    int p[N];int main()
    {memset(p,-1,sizeof p);  //初始化数组,在后面判断是否重复的时候使用scanf("%d",&n);for(int i=0;i<n;i++)scanf("%d",&a[i]); p[a[0]]=a[0];  //以起始元素为 祖宗for(int i=1;i<n;i++)  //遍历整个数组{if(p[a[i]]==p[a[0]]) //说明重复{do{a[i]++; //元素自身+1}while(p[a[i]]==p[a[0]]); //加完之后的元素还是重复就继续,否则跳出来 p[a[i]]=p[a[0]]; //把操作完的元素放进去}elsep[a[i]]=p[a[0]];  //和前面不重复的元素,也是需要放到集合里面去的}for(int i=0;i<n;i++)printf("%d ",a[i]); return 0;} 
    
  • 题解

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>using namespace std;const int N = 1100010;int n;
    int a[N];int find(int x)                                 // 寻找父节点 + 路径压缩
    {if(a[x] != x) a[x] = find(a[x]);            // 如果不指向父节点return a[x];
    }int main()
    {for (int i = 1; i <= N; i ++) a[i] = i;     // 初始化,自己是自己的父节点cin >> n;for (int i = 1; i <= n; i ++){int x;scanf("%d", &x);x = find(x);                            // 找到 x 指向的父节点printf("%d ", x);a[x] = x + 1;                           // 将 x 的父节点更新为 x+1}return 0;
    }
    
  • 补充知识——并查集使用场景

    1. 两个元素是否在同一个集合里面出现过;
    2. 合并两个集合
  • 反思

    已经比较满意了,AC 80%

    这个题,我开始的思路,是比较混乱的,没有理清楚关系,考虑全面

    第二次之后,我觉得重复元素不断+1,是可以优化的,

    取前面所有元素的最大值,然后让重复元素max+1,AW,T_T

    这个题解:

    • 更新父节点真是妙,每一个对应的父节点+1,正好修正我用 max

Alt

相关文章:

蓝桥杯刷题冲刺 | 倒计时14天

作者&#xff1a;指针不指南吗 专栏&#xff1a;蓝桥杯倒计时冲刺 &#x1f43e;马上就要蓝桥杯了&#xff0c;最后的这几天尤为重要&#xff0c;不可懈怠哦&#x1f43e; 文章目录1.最长递增2.走迷宫3.解立方根4.回文特判5.修改数组1.最长递增 题目 链接&#xff1a; 最长递增…...

【数据结构】树的概念

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…...

Qt Glog toStdWString转char* 中文乱码

#include <QTextCodec>void LogWriter::init(void) {InitGoogleLogging("ui-fundus");char log_path[256] {0};FLAGS_stderrthreshold GLOG_INFO; // INFO WARNING ERROR FATAL, 是输出到stderr(app Output/cli)的阀值FLAGS_alsologtostderr false; // 当这…...

基于线性Kalman观测器(LKF)的2、4、7自由度悬架主动控制合集

目录 前言 1. 1/4车悬架仿真分析 2. 1/2车悬架仿真分析 3. 整车车悬架仿真分析 3.1 KF观测状态 3.2性能指标 4 .KF调参总结 5.文章总结 前言 对于kalman的原理介绍在上篇文章中已经做了详尽剖析&#xff0c;本篇进行实战&#xff0c;将其应用于悬架系统&#xff0c;其实…...

第二章 作业(6789B)【编译原理】

第二章 作业【编译原理】前言推荐第二章 作业678911最后前言 以下内容源自《编译原理》 仅供学习交流使用 推荐 无 第二章 作业 6 6.令文法G6为 N→D|ND D→0|1|2|3|4|5|6|7|8|9 (1)G6的语言L(G6)是什么? (2)给出句子0127、34和568的最左推导和最右推导。 &#xff08;…...

【java】连续最大和、统计回文

目录 1.连续最大和 2.统计回文 1.连续最大和 链接&#xff1a;连续最大和_牛客题霸_牛客网 (nowcoder.com) 描述&#xff1a;一个数组有 N 个元素&#xff0c;求连续子数组的最大和。 例如&#xff1a;[-1,2,1]&#xff0c;和最大的连续子数组为[2,1]&#xff0c;其和为 3 输…...

AI真的快让我们失业了,从ChatGPT到Midjourney

参考文章&#xff1a; https://mp.weixin.qq.com/s/3RdHPPhYgDfB6KY6Y9Sk2A跟AI有关的新闻&#xff0c;一个接着一个。前一天你还和往常一样进入梦乡&#xff0c;第二天醒来就能被新的AI新闻“炸弹”震得心惊。 以ChatGPT为代表的AI语言模型&#xff0c;以Midjourney为代表的…...

JVM学习 GC垃圾回收机制 (堆内存结构、GC分类、四大垃圾回收算法)

&#x1f916; 作者简介&#xff1a;努力的clz &#xff0c;一个努力编程的菜鸟 &#x1f423;&#x1f424;&#x1f425; &#x1f440; 文章专栏&#xff1a;《JVM 学习笔记》 &#xff0c;本专栏会专门记录博主在学习 JVM 中学习的知识点&#xff0c;以及遇到的问题。 …...

ChatGPT 有哪些神奇的使用方式?

ChatGPT在语言处理领域有着非常广泛的应用&#xff0c;可以用来进行语音识别、文本摘要、问答系统、机器翻译、智能客服、情感分析、智能写作等方面的应用。随着技术的不断发展和进步&#xff0c;ChatGPT在未来的应用场景和领域也将会有更加广泛的拓展和应用。ChatGPT可以应用于…...

【JavaEE】Java设计模式-单例模式(饿汉式与懒汉式)

目录 1.设计模式是啥&#xff1f; 2.单例模式 2.1什么是单例模式 2.2饿汉模式 2.3懒汉模式 3.懒汉模式与饿汉模式的区别 3.1.线程安全方面 3.2.资源加载和性能 4.如何保证懒汉模式的线程安全 1.设计模式是啥&#xff1f; 设计模式是前人经过总结&#xff0c;通过…...

(算法基础)朴素版Prim算法

适用情景在最小生成树问题当中&#xff0c;涉及到权重和最小值。并且这个图是稠密图(n^2 ~ m)的情形下时间复杂度O(N^2)算法解释先得知道一下什么是无向图的生成树&#xff0c;树总该知道的吧&#xff0c;生成树就是包含这个无向图中的n个点&#xff0c;并且有n-1条边&#xff…...

第十四届蓝桥杯三月真题刷题训练——第 23 天

目录 第 1 题&#xff1a;长草 题目描述 输入描述 输出描述 输入输出样例 运行限制 代码&#xff1a; 思路&#xff1a; 第 2 题&#xff1a;蓝肽子序列_LCS_最长公共子序列dp问题 题目描述 输入描述 输出描述 输入输出样例 运行限制 代码&#xff1a; 思路&am…...

基于springboot实现医院信息管理系统【源码+论文】

基于springboot实现医院信管系统演示开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xf…...

CODESYS增量式PID功能块(ST完整源代码)

增量式PID的详细算法公式和博途源代码,请参看下面的文章链接: 博途1200/1500PLC增量式PID算法(详细SCL代码)_博图scl语言pid增量编码器_RXXW_Dor的博客-CSDN博客SMART200PLC增量式PID可以参看下面这篇博文,文章里有完整的增量式PID算法公式,这里不在赘述西门子SMARTPLC增量…...

代码质量提升,代码扫描 review 之 Codacy 工具使用

目录一、什么是Codacy二、GitHub 上使用 Codacy三、Codacy上导入GitHub项目一、什么是Codacy Codacy 是用于代码 review 检测(即代码审查)的工具&#xff0c;目前支持对40多种编程语言检测&#xff0c;如 c、c、c#、java 、python、javascript 等。 Codacy 可用于 GitHub 和 …...

Centos Linux 正确安装 Redis 的方式

官方文档 Getting started with Redis | Redis 第一步 、下载源代码 源代码的下载方式有很多种&#xff0c;可以去源代码仓库下载&#xff0c;或者使用下面的命令下载 wget https://download.redis.io/redis-stable.tar.gz 第二步 、编译代码 tar -xzvf redis-stable.tar.…...

C++Primer第五版【阅读笔记】

CPrimer第五版 阅读笔记 第1章开始1.1 编写一个简单的C程序1.1.1 编译、运行程序1.2 初识输入输出第1章开始 学习一门新的程序设计语言的最好方法就是练习编写程序。 1.1 编写一个简单的C程序 每个C程序都包含一个或多个函数&#xff0c;其中一个必须命名为 main&#xff0c…...

ERD Online 4.0.11 在线数据库建模、元数据协作平台(免费、私有部署)

ERD Online 是全球第一个开源、免费在线数据建模、元数据管理平台。提供简单易用的元数据设计、关系图设计、SQL查询等功能&#xff0c;辅以版本、导入、导出、数据源、SQL解析、审计、团队协作等功能、方便我们快速、安全的管理数据库中的元数据。 4.0.11 ❝ :memo: fix(erd):…...

3.数组算法、动态规划

文章目录数组算法1.数组表示2.基本操作3.插入操作算法实例1实例2输出3.删除操作算法实例1输出4.搜索操作算法实例2输出5.更新操作算法实3例输出2.动态规划对照实例1数组算法 Array是一个容器&#xff0c;可以容纳固定数量的项目&#xff0c;这些项目应该是相同的类型。大多数数…...

项目管理工具哪个好?最新排名

项目管理工具当下已经成为项目团队的重要榜首&#xff0c;一款合适好用的项目管理工具可以帮助处理很多机械化工作&#xff0c;将管理者更多精力投入到更有价值的工作中&#xff0c;还可以帮助团队组织和计划项目&#xff0c;跟踪进度&#xff0c;处理预算和协作。该如何挑选帮…...

650. 只有两个键的键盘——【Leetcode每日一题】

650. 只有两个键的键盘 最初记事本上只有一个字符 A 。你每次可以对这个记事本进行两种操作&#xff1a; Copy All&#xff08;复制全部&#xff09;&#xff1a;复制这个记事本中的所有字符&#xff08;不允许仅复制部分字符&#xff09;。Paste&#xff08;粘贴&#xff09…...

【平常心无焦虑探讨】未来谁将被淘汰—在日常网络安全工作中使用GPT的感受

作者&#xff1a;Eason_LYC 悲观者预言失败&#xff0c;十言九中。 乐观者创造奇迹&#xff0c;一次即可。 一个人的价值&#xff0c;在于他所拥有的。所以可以不学无术&#xff0c;但不能一无所有&#xff01; 技术领域&#xff1a;WEB安全、网络攻防 关注WEB安全、网络攻防。…...

【C语言】深度理解指针(下)

一. 前言&#x1f48e;昨晚整理博客时突然发现指针还少了一篇没写&#xff0c;今天就顺便来补一补。上回书说到&#xff0c;emmm忘记了&#xff0c;没事&#xff0c;我们直接进入本期的内容:本期我们带来了几道指针相关笔试题的解析&#xff0c;还算是相对比较轻松的。话不多说…...

【树与二叉树】树与二叉树的概念及结构--详解介绍

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;数据结构 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录1.树概念及结构1.1 树…...

Spring Boot集成RocketMQ实现普通、延时、事务消息发送接收、PULL消费模式及开启ACL | Spring Cloud 30

一、前言 在前面我们通过以下章节对RocketMQ有了基础的了解&#xff1a; docker-compose 搭建RocketMQ 5.1.0 集群&#xff08;双主双从模式&#xff09; | Spring Cloud 28 docker-compose 搭建RocketMQ 5.1.0 集群开启ACL权限控制 | Spring Cloud 29 现在开始我们正式学习…...

人人都能看懂的Spring源码解析,Spring如何解决循环依赖

人人都能看懂的Spring源码解析&#xff0c;Spring如何解决循环依赖原理解析什么是循环依赖循环依赖会有什么问题&#xff1f;如何解决循环依赖问题的根本原因如何解决为什么需要三级缓存&#xff1f;Spring的三级缓存源码走读Spring的三级缓存提前暴露getSingleton方法总结往期…...

Linux上搭建Discuz论坛

一.准备工作 1.下载php*&#xff0c;mariadb-server 2.上传Discuz3.5压缩包并解压 二.搭建过程 基于redhat 9 版本和Discuz3.5&#xff0c;php8.0&#xff0c;mariadb10.5演示 一.准备工作 1.下载php*&#xff0c;mariadb-server [rootredhat9 aaa]# yum install -y php*…...

【蓝桥杯专题】 树状数组(C++ | 洛谷 | acwing | 蓝桥)

菜狗现在才开始备战蓝桥杯QAQ 文章目录【蓝桥杯专题】 &#xff08;C | 洛谷 | acwing | 蓝桥&#xff09;什么是线段数组??1264. 动态求连续区间和数星星线段树AcWing 1270. 数列区间最大值PPPPPPP【蓝桥杯专题】 &#xff08;C | 洛谷 | acwing | 蓝桥&#xff09; 什么是…...

QCefView编译配置(Windows-MSVC)(11)

QCefView编译配置&#xff08;Windows-MSVC&#xff09; 文章目录QCefView编译配置&#xff08;Windows-MSVC&#xff09;1、概述2、准备工作3、添加环境变量4、更换cef源码版本5、CMake构建6、Visual Studio编译7、安装编译后的文件8、验证编译结果更多精彩内容&#x1f449;个…...

Token原理

Q&#xff1a;分布式场景下如何生成token以及使用token的流程&#xff1a; 在分布式场景下&#xff0c;可以采用以下方式生成 token 和进行权限认证&#xff1a; 1. 生成 token&#xff1a; 使用JWT&#xff08;JSON Web Token&#xff09;生成 token。JWT 是一种基于 JSON …...