某公司笔试真题
程序员文章站
2022-05-20 21:32:52
...
(仅仅记录一下)
1.模拟栈
#include<bits/stdc++.h>
using namespace std;
string h1,h2,h3;
char temp;
int len1,len2;
stack<char>ss;
int main()
{
cin>>h1>>h2;
len1=h1.length();
len2=h2.length();
h3="";
if(len1!=len2)
printf("-1\n");
else{
for(int i=len1-1, j=0; i>=0 && j<len2 ; ){
temp=h2[j];
ss.push(h1[i]);
h3+="E";
while(!ss.empty()&& temp==ss.top() ){
h3+="D";
ss.pop();///出栈
j++;///往下走
temp=h2[j];
if(i<0 || j>=len2)
break;
}
i--;
}
if(ss.empty()){
cout<<h3<<endl;
}
else
cout<<"-1"<<endl;
}
}
2.优雅暴力
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int mp[200][20000];
map<LL,LL>flag;
map<LL,LL>xpp[200];
int main()
{
int t,n,sum,x;
int num=0;
scanf("%d",&t);
int maxx=1;
while(t--){
sum=0;
num++;///第几组
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&x);
sum+=x;
mp[num][i]=x;
}
xpp[num][sum]=1;
flag[sum]++;
for(int i=1;i<=n;i++){
if(xpp[num][sum-mp[num][i]]==0)
{
flag[sum-mp[num][i]]++;
xpp[num][sum-mp[num][i]]=1;
}
if(flag[sum-mp[num][i]]>maxx)
maxx=flag[sum-mp[num][i]];
/// cout<<"num:"<<num<<" :"<<sum-mp[num][i]<<endl;
}
}
printf("%d\n",maxx);
}
3.数位dp。待补。
题目链接:
https://blog.csdn.net/weixin_40124642/article/details/104567788
上一篇: opencv学习001 imread与imshow函数
下一篇: Nginx 为每个站点独立配置文件
推荐阅读
-
系统架构师设计师2009-2016真题与模拟题汇总免费下载
-
2021山东高考语文答案解析及试卷真题(含作文、诗歌鉴赏)(新高考I卷)
-
2021浙江高考语文答案解析及试卷真题(含作文、诗歌鉴赏)
-
2021年全国卷2语文答案及解析(二卷详细完整版高考真题)
-
2020年全国一卷语文高考试卷真题及答案解析(附Word版下载)
-
面试真题:求100万内的质数
-
2019年高考全国一卷语文试卷真题及答案(附Word版下载)
-
2021年江苏高考数学真题及参考答案解析(新高考Ⅰ卷)
-
2020年新高考一卷语文高考试卷真题及答案解析(附Word版下载)
-
高考数学答案2021全国甲卷文科数学(完整版试卷真题及答案解析,可下载)