1.写在前面的话
22场周赛的详情
总比赛第7名了,hhh
CSDN周赛非常能够锻炼码代码的能力,无论是在平常的练习题目当中,还是每次的周赛中,题目有难有易,每次周赛的题目出的十分具有代表性,参加了将近20场的周赛,确实可以,也收到了比赛中的奖品,书包还不错,hhh.
一个小本子
一本程序员杂志
去年7月份刚刚接触到了算法,大一也是十分摆烂,现在也是小菜鸟一枚,我觉得真正让自己热爱的是当自己解决了一道题目时的狂喜,在键盘上面找感觉的愉悦,解决一个项目的·功能时内心的思索,热爱编程我觉得是每个编程者内心所达成的共识,编程不是武器,更不是攀比的武器,我觉得只有发自内心地喜欢编程,喜欢算法,才会坚定不移地走下去。
第22场周赛如下,接下来我会继续加油!。
2.题目名称:c++难题-大数加法
大数一直是一个c语言的一个难题。 现在我们需要你手动模拟出大数加法过程。 请你给出两个大整数加法结果。
思路:模拟人工加法
#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
vector<int> add(vector<int> &A,vector<int> &B)
{
vector<int> C;
int t=0;
for(int i=0;i<max(A.size(),B.size());i++)
{
if(i<A.size()) t+=A[i];
if(i<B.size()) t+=B[i];
C.push_back(t%10);
t/=10;
}
if(t) C.push_back(1);
return C;
}
int main()
{
string a,b;
vector<int> A,B,C;
cin>>a>>b;
for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');
for(int i=b.size()-1;i>=0;i--) B.push_back(b[i]-'0');
C=add(A,B);
for(int i=C.size()-1;i>=0;i--) cout<<C[i];
return 0;
}
3.题目名称:求最小元素
假设按照升序排序的数组在预先未知的某个点上进行了旋转,请找到数组中最小元素,(例如数据[0,1,2,4,5,6,7]可能变
为[4,5,6,7,0,1,2],最小元素是0)。您可以假设阵列中不存在重复项。
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
const int N=1e6+10;
int a[N];
int n;
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
int x=1e9+10;
for(int i=1;i<=n;i++) x=min(x,a[i]);
cout<<x;
return 0;
}
4.题目名称:最长回文串
找出最先出现的最长回文串 (“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串)
dp问题。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
string f(string s) {
int n = s.size();
if (n < 2) {
return s;
}
int maxLen = 1;
int begin = 0;
vector<vector<int>> dp(n, vector<int>(n));
for (int i = 0; i < n; i++) {
dp[i][i] = true;
}
for (int L = 2; L <= n; L++) {
for (int i = 0; i < n; i++) {
int j = L + i - 1;
if (j >= n) {
break;
}
if (s[i] != s[j]) {
dp[i][j] = false;
} else {
if (j - i < 3) {
dp[i][j] = true;
} else {
dp[i][j] = dp[i + 1][j - 1];
}
}
if (dp[i][j] && j - i + 1 > maxLen) {
maxLen = j - i + 1;
begin = i;
}
}
}
return s.substr(begin, maxLen);
}
int main()
{
string x;
cin>>x;
cout<<f(x);
}
快来参加下面的周赛吧!