CSDN第22场周赛

news/2024/12/28 9:21:30/

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);
}

快来参加下面的周赛吧!


http://www.ppmy.cn/news/11242.html

相关文章

【洛谷】P2345 [USACO04OPEN] MooFest G

1:暴力AC&#xff08; ans (long long)(max(arr[i].v, arr[j].v) * abs(arr[i].x - arr[j].x));&#xff09;#include<iostream> #include<cmath> using namespace std; int n; struct s {int v, x; }arr[20005]; long long ans; int main() {cin >> n;for …

自定义类型:结构体,枚举,联合(1)

tips 1. 2. 结构基础知识复习 1. 结构是一些值的集合&#xff0c;这些值被称为成员变量&#xff0c;结构的每个成员可以是不同类型的变量。 2. 结构体类型&#xff0c;结构体成员&#xff0c;结构体变量&#xff0c;结构体指针的创建方式 3. 初始化结构体变量的时候&…

Java文件IO操作

目录 一、了解什么是文件 狭义的文件&#xff1a; 广义的文件&#xff1a; 二、文件的路径 ①文件的绝对路径 ②文件的相对路径 三、Java对于文件的操作 File类的构造方法 File类的普通方法 四、对于文件的内容操作 ①FileInputStream&#xff08;文件输入流&#xf…

【计算机视觉】Pooling层的作用以及如何进行反向传播

问题 CNN网络在反向传播中需要逐层向前求梯度,然而pooling层没有可学习的参数,那它是如何进行反向传播的呢? 此外,CNN中为什么要加pooling层,它的作用是什么? Pooling层 CNN一般采用average pooling或max pooling来进行池化操作,而池化操作会改变feature map的大小,…

Esp8266+TFT太空人天气时钟

开源项目&#xff0c;只对动手能力有要求&#xff0c;有现成程序 b站演示视频: https://www.bilibili.com/video/BV1ND4y1W7oS/?spm_id_from333.999.0.0 效果图 模块和接线方法 使用ESP8266-12F模块&#xff0c;4M空间。OLED使用1.3寸IPS 240*240点阵彩屏&#xff0c;ST7789…

接口协议之抓包分析 TCP 协议

TCP 协议是在传输层中&#xff0c;一种面向连接的、可靠的、基于字节流的传输层通信协议。环境准备对接口测试工具进行分类&#xff0c;可以如下几类&#xff1a;网络嗅探工具&#xff1a;tcpdump&#xff0c;wireshark代理工具&#xff1a;fiddler&#xff0c;charles&#xf…

盘点| 能够实现小程序开发提效的框架/工具有这些

近年来&#xff0c;为了研发效率的提升&#xff0c;技术高频革新&#xff0c;开发者们纷纷表示&#xff1a;“好是好&#xff0c;就是快学不动了&#xff01;”。开发者们在不断学习新语言、框架、工具等内容的同时&#xff0c;也在担心所学是否真正有用。而小程序其实能够帮助…

Elasticsearch:运用 Go 语言实现 Elasticsearch 搜索 - 8.x

在我之前的文章 “Elasticsearch&#xff1a;Go 客户端简介 - 8.x”&#xff0c;我对 Elasticsearch golang 客户端做了一个简单的介绍。在今天的这篇文章中&#xff0c;我将详细介绍如何使用这个客户端来一步一步地连接到 Elasticsearch&#xff0c;进而创建索引&#xff0c;搜…