Bootstrap

中国电信笔试2025年度校园招聘笔试题-(开发类)-4(AK)

15个行测题,15个计算机单选题,2道编程题

1、

我们认为一个数是7好数,当且仅当它的开头和结尾都是7。给定一个正整数n,请问[1, n]中有多少个7好数。

补充说明

函数的第一个参数输入一个整数n(1 <= n <= 105)

示例1
输入:

100

输出:

2

说明区间[1, 100]中只有7和77是7好数4

C++ 实现代码

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 
     * @return int整型
     */
    int seven_good_number(int n) {
        // write code here
        int ans = 0;
        for(int i = 7; i <= n; i++) {
            string num = to_string(i);
            if(num.front() == '7' && num.back() == '7') {
                ans++;
            }
        }
        return ans;
    }
};

2、

给定一个整数序列 a 以及2个整数x,k。
求出有多少个区间[L, R](L ≤ R),使得该区间中恰好有k个ai(L ≤ i ≤ R)满足ai能被x整除。

补充说明

数据范围:length(a), x, k(1 ≤ length(a), x ≤ 105,
0 ≤ k ≤ 105)
序列a里的每个元素ai(1 ≤ ai ≤ 105)。

示例1
输入:

[1,2,3,4],2,1

输出:

6

说明

总共有6个区间,满足恰好有1个数被2整除。
[1,2],[1,3],[2,2],[2,3],[3,4],[4,4] 。

C++ 实现代码

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param a int整型vector 
     * @param x int整型 
     * @param k int整型 
     * @return long长整型
     */
    long long kinterval(vector<int>& a, int x, int k) {
        // write code here
        // int n = a.size();
        // long long ans = 0;
        // for(int left = 0; left < n; left++) {
        //     long long res = 0;
        //     for(int right = left; right < n; right++) {
        //         if(a[right] % x == 0) {
        //             res++;
        //         }
        //         if(res == k) {
        //             ans++;
        //         }
        //     }
        // }
        // return ans;

        int n = a.size();
        vector<int> pre(n + 1, 0);
        for(int i = 1; i <= n; i++) {
            pre[i] = pre[i - 1] + (a[i - 1] % x == 0? 1: 0);
        }
        unordered_map<int, int> preCnt;
        long long ans = 0;
        for(int i = 0; i <= n; i++) {
            int target = pre[i] - k;
            if(preCnt.find(target) != preCnt.end()) {
                ans += preCnt[target];
            }
            preCnt[pre[i]]++;
        }
        return ans;
    }
};

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;