陆续更新----还在专题复习中 没到算法笔记 到时会有更多的干货哦,比如可能会出现的树图(Floyd,SPFA,平衡二叉树的左旋右旋等等)
2022年居然没考 哈哈哈哈哈哈
目录
数学
这个方法是在PAT的《算法笔记》里面学到的 开始的时候vis数组全部为false(默认bool数组都是fasle) 只要是质数的倍数 那就一定不是质数 则可以全部转为true
同时ans 还可以记录2到n的质数个数
for(int i=2;i<n;i++){//寻找质数
if(!vis[i]){
ans++;
for(int j=i+i;j<n;j+=i){
vis[j]=true;
}
}
}
//求得一个数的所有约数
for(int i=1;i<=sqrt(n);i++){
if(n%i==0){
nums.push_back(i);
if(i*i!=n)nums.push_back(n/i);
}
}
int gcd(int a,int b)//求a,b最大公约数
{
if(b==0)return a;
return gcd(b,a%b);
}
int f(int y)//判断闰年
{
if(y%4==0&&y%100!=0||y%400==0) return 1;
return 0;
}
求俩矩形覆盖面积
int overlapWidth = min(ax2, bx2) - max(ax1, bx1);
int overlapHeight = min(ay2, by2) - max(ay1, by1);
int overlapArea = max(overlapWidth, 0) * max(overlapHeight, 0);
原题链接