笔试时间: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;
点赞 5
评论 2
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务