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多种语言分析,解答。

全部评论
华为不同算法岗位的题一样吗
点赞 回复 分享
发布于 2023-09-02 18:20 浙江
这就没有讲解啊,白花29.9
点赞 回复 分享
发布于 2023-09-09 11:33 湖北

相关推荐

11-28 17:48
中山大学 C++
点赞 评论 收藏
分享
10-16 22:56
门头沟学院 C++
1234567800:歌尔今年给211开14-15k吗,我本地人连面试都不给😂
点赞 评论 收藏
分享
评论
5
8
分享
牛客网
牛客企业服务