在这里插入代码片
#include
using namespace std;
const int maxn=1000+10;
int a[maxn];
int count=0;
bool istrue(int left,int right)
{
int k=left+1;
int count=0;
if(left>=right)
return true;
for(int i=left+1;i<=right;i++)
{
if(a[i]>=a[left]&&count==0)
{
k=i;
count++;
}
else if(count!=0&&a[i]<a[left])
return false;
}
if(istrue(left+1,k-1)&&istrue(k,right))
return true;
else
return false;
}
void post(int left,int right)
{
int k=left+1;
if(left>right)
return ;
else if(left==right)
{
if(count==0)
{
printf(“%d”,a[left]);
count++;
}
else
printf(" %d",a[left]);
return;
}
for(int i=left+1;i<=right;i++)
{
if(a[i]>=a[left])
{
k=i;
break;
}
}
post(left+1,k-1);
post(k,right);
printf(" %d",a[left]);
return;
}
bool istrue1(int left,int right)
{
int k=left+1;
int count=0;
if(left>=right)
return true;
for(int i=left+1;i<=right;i++)
{
if(a[i]<a[left]&&count==0)
{
k=i;
count++;
}
else if(count!=0&&a[i]>=a[left])
return false;
}
if(istrue1(left+1,k-1)&&istrue1(k,right))
return true;
else
return false;
}
void post1(int left,int right)
{
int k=left+1;
if(left>right)
{
return ;
}
else if(left==right)
{
if(count==0)
{
printf(“%d”,a[left]);
count++;
}
else
printf(" %d",a[left]);
return;
}
for(int i=left+1;i<=right;i++)
{
if(a[i]<a[left])
{
k=i;
break;
}
}
post1(left+1,k-1);
post1(k,right);
printf(" %d",a[left]);
return;
}
int main()
{
int n;
scanf(“%d”,&n);
for(int i=1;i<=n;i++)
{
scanf(“%d”,&a[i]);
}
bool isless=true;
if(a[1]>a[2])
{
bool ans=istrue(1,n);
if(ans==true)
{
printf(“YES\n”);
post(1,n);
}
else
printf(“NO\n”);
}
else
{
bool ans=istrue1(1,n);
if(ans==true)
{
printf(“YES\n”);
post1(1,n);
}
else
printf(“NO\n”);
}
}
#include
#include<stdio.h>
#include
#include
#include
#include
#include
#include<string.h>
#include
#include
#include
#include
#include
using namespace std;
#define inf 0x3f3f3f3f
typedef long long ll;
typedef struct node* Tree;
struct node{
int data;
Tree l,r;
};
int pre[1001],n,flagBST=1,flagMirroBST=1,flag=0;
Tree buildBST(int pre[],int n)
{
if(!n) return NULL;
Tree temp=new struct node;
temp->data=pre[0];
int i,j;
for(i=1;i<n;i++)
{
if(pre[i]>=temp->data) break;
}
for(j=i;j<n;j++)
{
if(pre[j]data)
{
flagBST=0;
return NULL;
}
}
temp->l=buildBST(pre+1,i-1);
temp->r=buildBST(pre+i,n-i);
return temp;
}
Tree buildMirroBST(int pre[],int n)
{
if(!n) return NULL;
Tree temp=new struct node;
temp->data=pre[0];
int i,j;
for(i=1;i<n;i++)
{
if(pre[i]data) break;
}
for(j=i;j<n;j++)
{
if(pre[j]>=temp->data)
{
flagMirroBST=0;
return NULL;
}
}
temp->l=buildMirroBST(pre+1,i-1);
temp->r=buildMirroBST(pre+i,n-i);
return temp;
}
void Print(Tree t)
{
if(t)
{
Print(t->l);
Print(t->r);
if(!flag) {printf(“%d”,t->data);flag=1;}
else printf(" %d",t->data);
}
}
int main()
{
cin>>n;
for(int i=0;i<n;i++) cin>>pre[i];
Tree t,tm;
t=buildBST(pre,n);
tm=buildMirroBST(pre,n);
if(t && flagBST)
{
printf(“YES\n”);
Print(t);
printf(“\n”);
}
else if(tm && flagMirroBST)
{
printf(“YES\n”);
Print™;
printf(“\n”);
}
else printf(“NO\n”);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
set s[55];
int main()
{
int n;
scanf(“%d”,&n);
for(int i=1;i<=n;i++)
{
int m,x;
scanf(“%d”,&m);
while(m–)
{
scanf(“%d”,&x);
s[i].insert(x);
}
}
int k,a,b;
scanf(“%d”,&k);
while(k–)
{
scanf(“%d%d”,&a,&b);
int ans1=s[a].size();
int ans2=s[b].size();
int ans3=0;
for(set::iterator it=s[a].begin();it!=s[a].end();++it)
{
if(s[b].find(*it)!=s[b].end())
{
ans3++;
}
}
printf(“%.2lf%%\n”,ans3*1.0/(ans1+ans2-ans3)*100);
}
return 0;
}
#include
#include
using namespace std;
set s[55];
int main()
{
int n;
scanf(“%d”,&n);
for(int i=1;i<=n;i++){
int m,x;
scanf(“%d”,&m);
while(m–){
scanf(“%d”,&x);
s[i].insert(x);
}
}
int k,a,b;
scanf(“%d”,&k);
while(k–){
scanf(“%d%d”,&a,&b);
int cnta=s[a].size(),cntb=s[b].size(),cnt=0;
for(set::iterator it=s[a].begin();it!=s[a].end();++it){
if(s[b].find(*it)!=s[b].end()){
cnt++;
}
}
printf(“%.2lf%\n”,cnt*1.0/(cnta+cntb-cnt)*100);
}
return 0;
}
#include
#include
#include
#include
#include
using namespace std;
int n;
set u[55];
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
Kafka实战笔记
关于这份笔记,为了不影响大家的阅读体验,我只能在文章中展示部分的章节内容和核心截图
- Kafka入门
- 为什么选择Kafka
- Karka的安装、管理和配置
- Kafka的集群
- 第一个Kafka程序
afka的生产者
- Kafka的消费者
- 深入理解Kafka
- 可靠的数据传递
- Spring和Kalka的整合
- Sprinboot和Kafka的整合
- Kafka实战之削峰填谷
- 数据管道和流式处理(了解即可)
- Kafka实战之削峰填谷
[外链图片转存中…(img-g7rvIxyO-1711653375533)]
Kafka实战笔记
关于这份笔记,为了不影响大家的阅读体验,我只能在文章中展示部分的章节内容和核心截图
[外链图片转存中…(img-eXvKNLHY-1711653375533)]
- Kafka入门
- 为什么选择Kafka
- Karka的安装、管理和配置
[外链图片转存中…(img-cRJADQb8-1711653375534)]
- Kafka的集群
- 第一个Kafka程序
- [外链图片转存中…(img-JU0vUMn1-1711653375534)]
afka的生产者
[外链图片转存中…(img-fu52qjyI-1711653375535)]
- Kafka的消费者
- 深入理解Kafka
- 可靠的数据传递
[外链图片转存中…(img-HFnmvHWF-1711653375535)]
[外链图片转存中…(img-uyL16sJZ-1711653375535)]
- Spring和Kalka的整合
- Sprinboot和Kafka的整合
- Kafka实战之削峰填谷
- 数据管道和流式处理(了解即可)
[外链图片转存中…(img-s8KFhZLW-1711653375536)]
- Kafka实战之削峰填谷
[外链图片转存中…(img-tRgJBCkJ-1711653375536)]