蓝桥杯重点(C/C++)(随时更新,更新时间:2023.1.31)

news2024/11/15 17:25:03

点关注不迷路,欢迎推荐给更多人,大约两天更新一次,建议点赞收藏加关注

本次更新内容:2.18 递归 

目录

1  技巧

1.1  取消同步(节约时间,甚至能多骗点分,最好每个程序都写上)

1.2  万能库(可能会耽误编译时间,但是省脑子)

1.3  蓝桥杯return 0千万别忘了写!!

1.4  编译设置(Dev C++)

1.5  memset填充函数

1.6  时间复杂度

1.6.1  常数阶  O(1)

1.6.2  对数阶  O(logn)

1.6.3  线性阶  O(n)

1.6.4  线性对数阶  O(nlogn)

1.6.5  多重循环  O(n^k)

1.7  剪枝

1.8  find函数

1.9 PI问题

1.10  C/C++帮助文档

1.11  最大空间

1.11.1  占用字节大小

1.11.2  常用数据范围

1.12  指针存字符串(了解)

2  基本算法及技巧

2.1  BFS(宽度优先搜索)

2.2  DFS(深度优先搜索)

2.3  最大公约数和最小公倍数

2.4  进制转换+超大数据处理

2.4.1  十进制为媒介(常用型)

2.4.2  二进制为媒介(技巧型)(含超大数据处理)

2.5  二进制表示法

2.6  背包问题

2.6.1  01背包问题

2.6.2  多重背包问题(每种物品有多件)

2.6.3  完全背包问题(每种物品有无数件)

2.7  动态规划(DP)

2.8  贪心

2.9  分治(以后更新)

2.10  数字分拆到数组中

2.11  数字和字符串的互化

2.12  排序

2.13  冒泡排序法和二分查找法(最常用)

2.14  图论

2.15  常用树

2.16  二次幂算法

2.17  素数(质数)

2.17.1  暴力法

2.17.2  线性筛

2.18  递归

3  STL

3.1  队列(queue)

3.2  链表(list) 

 3.3  优先队列(priority queue)

3.4  向量/动态数组(vector)

 3.5  栈(stack)

3.6  集合(set) (要求没有重复元素)

 3.7  集合/映射/键值对(map)

3.8  迭代器


1  技巧

1.1  取消同步(节约时间,甚至能多骗点分,最好每个程序都写上)

ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);

1.2  万能库(可能会耽误编译时间,但是省脑子)

#include <bits/stdc++.h>

1.3  蓝桥杯return 0千万别忘了写!!

1.4  编译设置(Dev C++)

(1)工具->编译选项->编译器->编译时加入以下命令->调成C99

 (2)工具->编译选项->代码生成/优化->代码生成->语言标准

1.5  memset填充函数

按照字节对内存块进行初始化,注意只能填充0或-1

#include <bits/stdc++.h>
using namespace std;
int a[10];
int main()
{
	memset(a,-1,sizeof(a));
	for(int i=0;i<10;i++)
	{
		cout<<a[i]<<endl;
	}
	return 0;
}

1.6  时间复杂度

蓝桥杯每一道题编译时间都限制在1s以内,遇到数据比较大的题目,往往需要降低时间复杂度。

粗略估计,O(n)情况下一秒大概完成4亿次,O(n*n)情况下一秒大概完成2万次,O(n*n*n)情况下大概完成700次。

由于蓝桥杯评测系统是根据通过样例数来评分,所以我们做题时一定要注意约定样例取值范围。

例题:K倍区间(暴力法只能通过部分样例,所以要用更好的算法)

(1条消息) K倍区间(蓝桥杯2017年第八届省赛B组第十题)(C/C++)_菜只因C的博客-CSDN博客https://blog.csdn.net/m0_71934846/article/details/128434135?spm=1001.2014.3001.5501

1.6.1  常数阶  O(1)

int i=1;
int j=2;
int m=i+j;

1.6.2  对数阶  O(logn)

int i=1;
while(i<n)
{
  i=i*2;
}

1.6.3  线性阶  O(n)

for(int i=0;i<n;i++)
{
  cout<<i<<endl;
)

1.6.4  线性对数阶  O(nlogn)

for(int m=1;m<n;m++)
{
  int i=1;
  while(i<n)
  {
    i=i*2;
  }
}

1.6.5  多重循环  O(n^k)

k为循环层数

1.7  剪枝

做题时已经发现的不可能取到的数值,就不要再让计算机算了,尽量节省时间,蓝桥杯中目前遇到的还没有用到过过于繁琐的剪枝,大多也是在BFS和DFS中出现(bool vis)

1.8  find函数

函数作用:查找该元素在数组中第一次出现的位置的地址(类似于0x的地址)

模型:find(查找起点,查找终点,查找目标元素)

同样,查找区间为[查找起点,查找终点)

#include <bits/stdc++.h>
using namespace std;

int main()
{
	int a[10]={2,6,8,1,3,7,5,1,0,11};
	cout<<find(a+0,a+5,8)<<endl;//打印类似0x地址 
	cout<<find(a+0,a+5,8)-a<<endl;//打印数组【】内的序号 
	return 0;
}

1.9 PI问题

PI=atan(1.0)*4

1.10  C/C++帮助文档

1.11  最大空间

1.11.1  占用字节大小

类型32位计算机64位计算机
char11
short int22
int44
long int48
long long int88
char*48
float44
double88

1.11.2  常用数据范围

类型范围估计值
char-128~+127
short-32767~+327683*10^4
unsigned short0~+655366*10^4
int=long-2147483648~+21474836472*10^9
unsigned int0~+42949672954*10^9
long long -9223372036854775808~+92233720368547758079*10^18

1.12  指针存字符串(了解)

这个比赛很少用指针,如果想要存储字符串,用指针也是一个不错的选择

//指针数组存储字符串列表
#include <stdio.h>
const int max = 5;
int main()
{
 const char *names[] = 
{  //定义指针数组,存储字符串列表
 "Zhang San",     //每个元素都是双引号括起来的
 "Li Si",
 "Wang Wu",
 "Su Wukong",
 "Tang Er",
 };
 
 int i=0;
 for(i=0;i<max;i++)
{
  printf("Value of names[%d] = %s\n",i,names[i]); // 注意 %s
 }
 return 0;
} 

2  基本算法及技巧

2.1  BFS(宽度优先搜索)

用到队列(有时会用到优先队列)

主要思想:把所有符合条件的点都压入队列,然后挨个元素弹出上下左右前后搜索,直到队列清空时代表搜索完毕,搜索的时候注意判断是否已经搜索过,用bool vis【】判断。

例题:全球变暖

(1条消息) 全球变暖(蓝桥杯2018年省赛B组试题I)(C/C++)_菜只因C的博客-CSDN博客https://blog.csdn.net/m0_71934846/article/details/128434254?spm=1001.2014.3001.5502

2.2  DFS(深度优先搜索)

用到递归(不好理解)

主要模板:可参见如下全排列例题

http://t.csdn.cn/ANnS1

总结起来有如下几步:

(1)确定 边界    if()return;

(2)进入for循环

(3)判断是否搜索过  if(vis[])vis[]=true; dfs();  vis[]=false;

例题1:凑算式

(3条消息) 凑算式(蓝桥杯2016年省赛B组第三题)(C/C++)_菜只因C的博客-CSDN博客https://blog.csdn.net/m0_71934846/article/details/128434004?spm=1001.2014.3001.5502

例题2:2n皇后问题

2n皇后问题(蓝桥杯基础练习C/C++)_菜只因C的博客-CSDN博客https://blog.csdn.net/m0_71934846/article/details/128772257?spm=1001.2014.3001.5501

2.3  最大公约数和最小公倍数

最大公约数(greatest common divisor,gcd)

#include <bits/stdc++.h>
using namespace std;

int main()
{
	cout<<__gcd(25,5);
	return 0;
}

最小公倍数 (least common multiple,lcm)

多写一个lcm函数

#include <bits/stdc++.h>
using namespace std;

int lcm(int a,int b)
{
    return a*b/__gcd(a,b);
}
int main()
{
	cout<<lcm(25,5);
	return 0;
}

2.4  进制转换+超大数据处理

2.4.1  十进制为媒介(常用型)

(8条消息) 任意进制转换成十进制/十进制转换成任意进制(ASCII码法)(C/C++)_菜只因C的博客-CSDN博客https://blog.csdn.net/m0_71934846/article/details/128297645?spm=1001.2014.3001.5502

2.4.2  二进制为媒介(技巧型)(含超大数据处理)

十六进制转八进制+超大数据处理(蓝桥杯基础练习C/C++)_菜只因C的博客-CSDN博客十六进制转八进制+超大数据处理(蓝桥杯基础练习C/C++)https://blog.csdn.net/m0_71934846/article/details/128745875?spm=1001.2014.3001.5502

2.5  二进制表示法

例题:无聊的逗

(8条消息) 蓝桥杯试题 算法训练 无聊的逗(C/C++)_菜只因C的博客-CSDN博客https://blog.csdn.net/m0_71934846/article/details/128717938?spm=1001.2014.3001.5502

2.6  背包问题

2.6.1  01背包问题

#include<bits/stdc++.h>

using namespace std;

int v[1000];    // 体积
int w[1000];    // 价值 
int f[1000][1000];  // f[i][j], j体积下前i个物品的最大价值 

int main() 
{
    int n, m;   
    cin >> n >> m;
    for(int i = 1; i <= n; i++) 
        cin >> v[i] >> w[i];

    for(int i = 1; i <= n; i++) 
        for(int j = 1; j <= m; j++)
        {
            //  当前背包容量装不进第i个物品,则价值等于前i-1个物品
            if(j < v[i]) 
                f[i][j] = f[i - 1][j];
            // 能装,需进行决策是否选择第i个物品
            else    
                f[i][j] = max(f[i - 1][j], f[i - 1][j - v[i]] + w[i]);
        }           

    cout << f[n][m] << endl;

    return 0;
}

2.6.2  多重背包问题(每种物品有多件)

把多件物品捏合成一件新的物品,按序号往后叠加即可

2.6.3  完全背包问题(每种物品有无数件)

#include<iostream>
using namespace std;
const int N = 1010;
int f[N];
int v[N],w[N];
int main()
{
    int n,m;
    cin>>n>>m;
    for(int i = 1 ; i <= n ;i ++)
    {
        cin>>v[i]>>w[i];
    }
 
    for(int i = 1 ; i<=n ;i++)
    for(int j = v[i] ; j<=m ;j++)
    {
            f[j] = max(f[j],f[j-v[i]]+w[i]);
    }
    cout<<f[m]<<endl;
}

2.7  动态规划(DP)

例题1:拿金币

(1条消息) 拿金币(蓝桥杯算法训练)(C/C++)_菜只因C的博客-CSDN博客https://blog.csdn.net/m0_71934846/article/details/128456365?spm=1001.2014.3001.5502

例题2:包子凑数

包子凑数(蓝桥杯2017年省赛B组试题H)(C/C++)_菜只因C的博客-CSDN博客包子凑数(蓝桥杯2017年省赛B组试题H)(C/C++)https://blog.csdn.net/m0_71934846/article/details/128434225?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128434225%22%2C%22source%22%3A%22m0_71934846%22%7D

2.8  贪心

思路:选取局部最优解,但是最大的缺陷就是在某些情况下不适用

举例:纸币问题

比如面额有1元,2元,5元,10元,20元,50元,100元,那么对于110元来说,可以用贪心从最大面额100元开始找。

但是如果改纸币面额,比如1元,2元,5元,20元,55元,100元,那么如果用到贪心算法,会发现并不能找出最优解(贪心:100+5+5=110  动态规划:55+55=110)

动态规划代码如下:

#include <bits/stdc++.h>
using namespace std;
 
int dp[10000];
int n; 
int b[6]={1,5,20,50,55,100};
int temp;
int main()
{
	dp[0]=0;
	dp[1]=1;
	dp[5]=1;
	dp[20]=1;
	dp[50]=1;
	dp[55]=1;
	dp[100]=1;
	for(int i=1;i<=10000;i++)
	{
		temp=10000;
		for(int k=0;k<6;k++)
		{
			if(i>=b[k])
			{
				temp=min(dp[i-b[k]]+1,temp);
			} 
		}
		dp[i]=temp;
	}
	for(int i=1;i<10000;i++)
	{
		cout<<i<<"元用"<<dp[i]<<"张"<<endl;
	}
	return 0;
}

2.9  分治(以后更新)

大部分是二分法

2.10  数字分拆到数组中

(2条消息) 把一个数字分拆存到数组内(C/C++)_菜只因C的博客-CSDN博客https://blog.csdn.net/m0_71934846/article/details/128698111?spm=1001.2014.3001.5501

2.11  数字和字符串的互化

求不了子数字,但能求子字符串

例题:超级质数

(2条消息) 超级质数(蓝桥杯C/C++算法赛)_菜只因C的博客-CSDN博客https://blog.csdn.net/m0_71934846/article/details/128723978?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128723978%22%2C%22source%22%3A%22m0_71934846%22%7D

2.12  排序

(4条消息) 找字符串中最大字符(三种快速方法)_求字符串中最大的字符_菜只因C的博客-CSDN博客https://blog.csdn.net/m0_71934846/article/details/128457227?spm=1001.2014.3001.5501

2.13  冒泡排序法和二分查找法(最常用)

冒泡排序法和二分查找法(C/C++)_菜只因C的博客-CSDN博客冒泡排序法和二分查找法(C/C++)https://blog.csdn.net/m0_71934846/article/details/128757285?spm=1001.2014.3001.5502

2.14  图论

图论(入门版)_菜只因C的博客-CSDN博客https://blog.csdn.net/m0_71934846/article/details/128757672?spm=1001.2014.3001.5501

2.15  常用树

蓝桥杯常用树模板(C/C++)_菜只因C的博客-CSDN博客蓝桥杯常用树模板(C/C++)https://blog.csdn.net/m0_71934846/article/details/128764616?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128764616%22%2C%22source%22%3A%22m0_71934846%22%7D

2.16  二次幂算法

快速幂算法(C/C++)_菜只因C的博客-CSDN博客https://blog.csdn.net/m0_71934846/article/details/128772642?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128772642%22%2C%22source%22%3A%22m0_71934846%22%7D

2.17  素数(质数)

质数(Prime number,又称素数),指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个正因数的数)

2.17.1  暴力法

两层循环,第一层循环i遍历大于等于2的所有数,第二层循环遍历大于1小于i的所有数j,判断i%j!=0一直成立,则该数为质数

这种方法虽然思路简单,但时间复杂度有时不能满足题目要求

2.17.2  线性筛

定理:一个质数*任何一个不为1的正整数=合数

有了定理之后,就可以通过定理优化代码降低时间复杂度,下面是具体思路

Eratosthenes筛选方法(Eratosthenes Sieve Method)

假设有一个筛子存放1~N,例如:

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 .........N

先将  2的倍数  筛去:

2 3 5 7 9 11 13 15 17 19 21..........N

再将  3的倍数  筛去:

2 3 5 7 11 13 17 19..........N

 之后,再将5的倍数筛去,再来将7的质数筛去,再来将11的倍数筛去........,如此进行到最后留下的数就都是质数,这就是Eratosthenes筛选方法(Eratosthenes Sieve Method)。

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int primes[1000000];
int cnt;
bool notprime[1000000];

void set_prime()
{
	notprime[1]=true;
	primes[0]=0;
	for(int i=2;i<1000000;i++)
	{
		if(!notprime[i])
		{
			primes[++primes[0]]=i;
		}
		for(ll j=(ll)i*i;j<1000000;j+=i)//保证每一个遍历的值都没被筛过
		{
			notprime[j]=true;
		}
	}
} 

int main()
{
	set_prime();
	for(int i=1;i<=primes[0];i++)
	{
		cout<<primes[i]<<endl;
	}
	return 0;
}

2.18  递归

是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象。

在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知。

使用递归解决问题,思路清晰,代码少。但是在主流高级语言中(如C语言、Pascal语言等)使用递归算法要耗用更多的栈空间,所以在堆栈尺寸受限制时(如嵌入式系统或者内核态编程),应避免采用。所有的递归算法都可以改写成与之等价的非递归算法。

递归的重点是找到递归表达式

例1:阶乘

#include <bits/stdc++.h>
using namespace std;
int f(int n)
{
	if(n==1)
	{
		return 1;
	}
	return n*f(n-1);
}
int main()
{
	cout<<f(10);
	return 0;
}

例2:汉诺塔 

汉诺塔+汉诺四塔(C/C++)_菜只因C的博客-CSDN博客汉诺塔(C/C++)https://blog.csdn.net/m0_71934846/article/details/128796546?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128796546%22%2C%22source%22%3A%22m0_71934846%22%7D

3  STL

3.1  队列(queue)

3.2  链表(list) 

 3.3  优先队列(priority queue)

 优先队列默认大根堆(大到小排序),如果想从小到大排序,那么

<int,vector<int>,greater<int> >//升序排列(小根堆)

<int,vector<int>,less<int> >//降序排列(大根堆)

3.4  向量/动态数组(vector)

 3.5  栈(stack)

3.6  集合(set) (要求没有重复元素)

set<int> s;//默认升序排列

set<int, greater<int>>  s2 = {3,2,5,1,4 ,3};//降序

set值不能修改(修改过后无法保证数据顺序)

 3.7  集合/映射/键值对(map)

3.8  迭代器

 模板:

#include<iostream>
#include<vector>
using namespace std;
int main()
{
	vector<int> v;
	v.push_back(11);
	v.push_back(7);
	vector<int>::iterator it = v.begin();
	
	while(it!=v.end())
	{
		cout << *it <<"  ";
		it++;
	}
	cout << endl;
	return 0;
}


这里大概列出参加蓝桥杯需要掌握的知识点和技巧,若想详细了解某个知识点,可以看看我的例题和别人的博文。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/187479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代谢组学文献解读:高胆固醇饮食与脂肪肝相关肝癌的关系

代谢组学文献分享&#xff0c;非酒精性脂肪性肝病&#xff08;Non-alcoholic fatty liver disease , NAFLD)是全世界日趋普遍的慢性肝病。随着肥胖和代谢综合征在全球的流行&#xff0c;近20年亚洲国家NAFLD增长迅速&#xff0c;在上海、北京、广州和香港等地区成人NAFLD患病率…

【论文简述】Multiview Stereo with Cascaded Epipolar RAFT(arxiv 2022)

一、论文简述 1. 第一作者&#xff1a;Zeyu Ma 2. 发表年份&#xff1a;2022 3. 发表期刊&#xff1a;arxiv 4. 关键词&#xff1a;MVS、RAFT、级联、极线 5. 探索动机&#xff1a;3D卷积在计算和内存方面成本很高&#xff0c;在有限资源条件下限制重建质量。 However, a …

CISP-PTE 学习记录

CISP-PTE 学习记录 题目链接1 http://49.232.193.10:2083/start/index.php?pagehello.html write up: http://49.232.193.10:2083/start/index.php?pagephp://filter/readconvert.base64-encode/resource…/key.php 知识点: php伪协议&#xff0c;php伪协议是可以读取到ww…

【运维】Linux/Ec2挂载卷与NFS搭建实站讲解

英文Network File System(NFS)&#xff0c;是由SUN公司研制的UNIX表示层协议(presentation layer protocol)&#xff0c;能使使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS在实际场景中有着不少的应用场景&#xff0c;比如分布式代码部署下&#xff0c;代码一致性…

关于 微软商店无法加载页面 显示错误代码0x80131500的解决办法

目录一、误删系统文件导致Microsoft Store无法打开1.运行 SFC 和 DISM2.尝试修复或者重置微软应用商店3.重新部署 Microsoft Store4.运行Windows疑难解答5.对系统镜像进行无损修复二、其他原因导致Microsoft Store无法打开1.调整网络连接2.更改DNS3.清理应用商店的缓存4.调整 I…

java-raft框架之atomix进行分布式管理

共识算法 在一个分布式的系统中&#xff0c;管理各个节点的一致性&#xff08;共识&#xff09;一直是个很有难度的问题。 在近几十年的发展中&#xff0c;于1990年诞生的Paxos算法是其中最为经典的代表&#xff0c;并一统江湖数几十载。 如著名的zookeeper、chubby都是基于…

操作系统(day03)-- 进程

文章目录进程进程的定义进程的组成进程的组织进程的特征进程的状态-五种基本状态进程状态的转换进程控制进程控制的定义进程控制相关的原语进程 系统并发运行多个程序&#xff0c;它需要将程序代码、数据段存放到内存的某个位置&#xff0c;那系统怎么知道哪个内存的数据在哪呢…

注册公司选择认缴or实缴?如何查验公司实际资金?

目录 前言 实缴制 认缴制 认缴制还是实缴制呢&#xff0c;哪个更好&#xff1f; 1、如果你的启动资金比较少&#xff0c;建议选认缴制&#xff1a; 2、有27类的公司暂不推行注册资金认缴制&#xff1a; 3、如何查看公司实际的公司实缴金额? 4、认缴不需要验资&#xf…

【原文核心对照代码】【一文足以系列】A-LOAM里程计部分简短精解

前言 本文将通过论文对照代码的方式阐述A-LOAM这一神奇算法。全文保持各个章节短小精悍的风格。本文会省去一些细节&#xff0c;但是了解大部分的论文和代码实现已经足够了。 点曲率计算与边缘点面点区分 论文中通过对点云点的曲率进行如下求曲率的计算。将计算的结果跟阈值…

org.slf4j.Logger无法输出日志的BUG

场景依赖<dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.13</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>s…

第一章 Iceberg入门介绍

1、Iceberg简介 本质&#xff1a;一种数据组织格式 1.1、应用场景 ①面向大表&#xff1a;单表包含数十个PB的数据 ②分布式引擎非必要&#xff1a;不需要分布式SQL引擎来读取或查找文件 ③高级过滤&#xff1a;使用表元数据&#xff0c;使用分区和列级统计信息修建数据文…

技术管理者如何获得下属的认同?

你好&#xff0c;我是童军&#xff0c;目前是华锐技术资管营销研发团队总监。今天我将从自己的工作场景出发&#xff0c;讲讲我是如何和团队小伙伴相处沟通&#xff0c;并获得认同的。 我们先看一个小故事。 我刚当上主管那会儿&#xff0c;在和新入职同事沟通具体工作时&…

【数组相关面试题】LeetCode试题

前言&#xff1a;在之前我们已经学习过了顺序表的相关概念以及实现的方法&#xff0c;今天我们通过几个题来进行应用了解。 目录1.第一题([oj链接](https://leetcode.cn/problems/remove-element/))2.第二题&#xff08;[oj链接](https://leetcode.cn/problems/remove-duplicat…

Ubuntu和Linux开发板网络环境搭建

参考&#xff1a;https://www.bilibili.com/video/BV1n541197rk?spm_id_from333.999.0.0 目录前言STM32MP157 开发板网络环境搭建开发工具网络拓扑结构Ubuntu 常用工具安装同一网段ping 测试概念关闭Ubuntu 和Windows 防火墙电脑和开发板直连同个路由器准备工作VMware 设置查看…

Java:每个开发人员职业生涯的基本Java技能

早在1996年&#xff0c;Java就首次被引入世界&#xff0c;如今仍然非常受欢迎。2021&#xff0c;全球超过35%的程序员使用这种语言。此外&#xff0c;它是TIOBE索引中最受欢迎的三种编程语言之一。作为Java初学者&#xff0c;这对你意味着什么?这意味着你必须获得竞争优势&…

浏览器的URL中每个中字符的“乱码”问题,字符集的解码和编码

uft-8和Unicode字符表对应&#xff0c;查找可参考&#xff1a;https://www.utf8-chartable.de/unicode-utf8-table.pl 几个好用的字符集转换网址&#xff1a;http://web.chacuo.net/charseturlencode&#xff0c;https://123.w3cschool.cn/webtools&#xff0c;http://mytju.co…

JVM详解--内存结构

文章目录什么是JVM内存结构程序计数器&#xff08;Program Counter Register&#xff09;虚拟机栈&#xff08;Java Virtual Machine Stacks&#xff09;概述栈内存溢出本地方法栈堆&#xff08;Heap&#xff09;堆内存溢出堆内存诊断方法区方法区内存溢出常量池运行时常量池St…

PHP手册

NULL 未定义和unset()的变量都将解析为值null unset() unset( $var, ...$vars) 如果在函数中 unset() 一个全局变量&#xff0c;则只是局部变量被销毁&#xff0c;而在调用环境中的变量将保持调用 unset() 之前一样的值。 <?php function destroy_foo() {global $foo;un…

双系统下linux分区被误删的解决办法

前言在windows系统的磁盘管理中误删了ubuntu的磁盘分区&#xff0c;开机后一直卡在grub界面。Windows/Linux双启动的机器一般都使用grub作为引导程序。如果不小心在Windows中删除了linux分区&#xff0c;grub就会因为找不到配置文件而造成无法启动。 系统配置 系统类型&#x…

Qt新手入门指南 - 如何创建模型/视图(一)

每个UI开发人员都应该了解ModelView编程&#xff0c;本教程的目标是为大家提供一个简单易懂的介绍。Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff…