Ebay 2021校招笔试编程题

1. 神奇的青蛙

#include <iostream>
#include <vector>
using namespace std;


long solve(long n) {
    vector<long> dp(n + 1, 0);
    dp[0] = 1;
    dp[1] = 1;

    for(long i = 2; i < n + 1; ++i) {
        for(long j = 1; j <= i; j <<= 1) {
            dp[i] += dp[i-j];
        }
    }
    return dp[n];
}

int main() {
    long N; cin >> N;
    cout << solve(N-1);
    return 0;
}
2. 找倍数

#include <iostream>
#include <vector>

using namespace std;

bool solve(vector<int> nums, int m, int k)
{
    if(k % 2 != 1) k /= 2;

    int count = 0;

    for(int i = 0; i < nums.size(); ++i) {
        if(nums[i] % k == 0) count++;
    }

    return count >= m;
}

int main() {
    int T; cin >> T;
    while(T--) {
        int m, n, k;
        cin >> n >> m >> k;
        vector<int> nums(n);
        for(int i = 0; i < n; ++i) {
            cin >> nums[i];
        }
        cout << (solve(nums, m, k) ? "Yes" : "No");
    }

    return 0;
}


#秋招##eBay#
全部评论
第二题 你的代码a了吗? 这样的输入能a吗: 1 2 2 3 1 2 按你的算法 这样的输入,得到 No 但是 1 + 2 = 3, 3 / 3 = 1 , 1是整数啊, 应该是 Yes才对吧 我哪里理解有问题吗?
点赞 回复 分享
发布于 2020-09-26 04:01
楼主能讲解下 if(k % 2 != 1) k /= 2; 这段代码是什么意思吗
点赞 回复 分享
发布于 2020-09-29 11:27
题外问..  ebay内推校招开始了嘛
点赞 回复 分享
发布于 2020-09-30 10:02
只有2到编程题吗
点赞 回复 分享
发布于 2020-10-15 14:51

相关推荐

10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
评论
4
28
分享
牛客网
牛客企业服务