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

相关推荐

ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
4 28 评论
分享
牛客网
牛客企业服务