小米笔试 开发岗 低于90无入围可能?【代码参考】

试题一参考:
小D是一名老师,他想选出一些同学床架一个团体比赛,总共有n个同学,每个同学有一个能力值x和一个合作制y,小D将这小同学拍成一排,选人规则如下:小D将选择一排中连续的K个同学参加比赛,而且为例保证成绩,者K个同学的能力值不能小于a,合作值不能小于b。小D想知道总共有多少种可能的选人方案。
输入描述
第一行四个正整数n,k,a,b
第二行n个通过空格隔开的正整数表示一排n个同学的能力值。
第三行n个通过空格隔开的正整数表示一排n个同学的合作值。
输出描述:
输出一个非负数表示选人的方案数

#include <iostream>
#include <vector>

using namespace std;

int count_selections(int n, int k, int a, int b, vector<int>& abilities, vector<int>& cooperations) {
    int count = 0;
    for (int i = 0; i <= n - k; ++i) {
        bool valid = true;
        for (int j = i; j < i + k; ++j) {
            if (abilities[j] < a || cooperations[j] < b) {
                valid = false;
                break;
            }
        }
        if (valid) {
            count++;
        }
    }
    return count;
}

int main() {
    int n, k, a, b;
    cin >> n >> k >> a >> b;

    vector<int> abilities(n);
    vector<int> cooperations(n);

    for (int i = 0; i < n; ++i) {
        cin >> abilities[i];
    }

    for (int i = 0; i < n; ++i) {
        cin >> cooperations[i];
    }

    int result = count_selections(n, k, a, b, abilities, cooperations);
    cout << result << endl;

    return 0;
}


试题二参考:


天帝被愚公的诚心感动,命令手下的仙人帮助移山。然而仙人的法术也是有局限性的,山势连绵起伏,法术并不能直接把山一走。每次施法,可以把一段连续区域的汕头一走相同的高度。现在愚公想知道什么时候会有至少一个山头高度小于等于0.给出一个长度为n的数组和m表示山头的高度和可以施法的次数,每次施法还会给出左右断点L,R和高度h,表示将al到ar减去h。问在那次操作时候会存在ai小于等于0
输入描述:
第一行两个数字n和m表示山头数量和施法次数
第二行n个数,分别表示山的高度
接下来m行,每行3个数字L,R,h表示依次具体的施法参数
输出描述:一个整数


#include <iostream>
#include <vector>

using namespace std;

bool has_negative_height(const vector<int>& heights) {
    for (int height : heights) {
        if (height <= 0) {
            return true;
        }
    }
    return false;
}

int main() {
    int n, m;
    cin >> n >> m;

    vector<int> heights(n);
    for (int i = 0; i < n; ++i) {
        cin >> heights[i];
    }

    for (int i = 0; i < m; ++i) {
        int L, R, h;
        cin >> L >> R >> h;
        for (int j = L - 1; j <= R - 1; ++j) {
            heights[j] -= h;
        }
        if (has_negative_height(heights)) {
            cout << i + 1 << endl; // 1-indexed
            return 0;
        }
    }

    cout << -1 << endl; // No mountain head becomes less than or equal to 0
    return 0;
}

#笔试##小米##小米24春招#
全部评论
第一题91,一直检查不出哪里错了😡
点赞 回复 分享
发布于 03-23 19:33 河南
第一道36% 有无佬给个意见
点赞 回复 分享
发布于 03-23 19:47 广东
第一个不是滑动窗口吗
点赞 回复 分享
发布于 03-23 20:28 上海
低于90就寄吗 我靠。感觉算法还好都a了,但选择那些真没底
点赞 回复 分享
发布于 03-24 17:39 浙江
第一题暴力能过吗,不应该是优先队列求最小值吗
点赞 回复 分享
发布于 03-24 18:36 美国
难怪流程终止了,原来选择做烂了
点赞 回复 分享
发布于 03-29 09:23 安徽

相关推荐

头像
10-12 17:07
门头沟 Java
在冲浪的卡尔很谦虚:唉 第一次笔试 一道没做出来 好紧张啊
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
评论
2
10
分享
牛客网
牛客企业服务