2023 得物笔试题 0829
笔试时间:2023年8月29日 秋招
第一题
题目:Cheems的漂亮糖葫芦
小狗Cheems在街边买到了一串糖葫芦,这串糖葫芦是由n个大写字母构成的。Cheems觉得这串糖葫芦虽然美味,却并不一定能称得上漂亮。当糖葫芦中包含了一串长度为X的连续子串,满足正序读与倒序读一模一样时(即是一串回文串),它会觉得这整串糖葫芦是漂亮的。
输入描述
第一行两个以空格隔开的正整数n和x,表示糖葫芦串长度和Cheems对于子串要求的长度。
第二行一个长为n的仅包合大写字母的字符串s,代表糖葫芦
1<=n,x<=5000
输出描述
如果这串糖葫芦是漂亮的,输出1,否则输出0。
样例输入
6 2
AACBBE
样例输出
1
提示:可以找到称在子串“AA",长度为2,且正着读与倒着读一模一样.
参考题解
C++:
#include <iostream>
#include <string>
using namespace std;
int main() {
int n, x;
cin >> n >> x;
cin.ignore();
string s;
getline(cin, s);
if (x == 1) {
cout << "1" << endl;
return 0;
}
for (int i = 0; i <= n - x; i++) {
int left = i;
int right = i + x - 1;
while (left < right) {
if (s[left] == s[right]) {
left++;
right--;
} else {
break;
}
}
if (left >= right) {
cout << "1" << endl;
return 0;
}
}
cout << "0" << endl;
return 0;
}
Java:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int x = sc.nextInt();
sc.nextLine();
String s = sc.nextLine();
if(x == 1){
System.out.println(1);
return;
}
for(int i = 0; i <= n - x; i++){
int left = i;
int right = i + x - 1;
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
2023 秋招笔试题汇总解析 文章被收录于专栏
2023秋招各大笔试题汇总,c++,java,python多种语言分析,解答。
查看8道真题和解析