网易2019校招笔试,今日头条2019校招笔试(前两道),搜狐2019校招笔试三道题

网易2019校招笔试题

##1. 丰收

题目:

就是堆了几堆的南瓜,然后给出几个数字作为序号,猜是第几堆里面的南瓜

思路:

思路不难,就是进行累加,然后找出数字在第几个堆里。让人不爽的是时间复杂度败给了调用函数的,就是这个lower_bound(first *itor,last *itor,const int T)函数,它指向在[first,last]标记的有序序列中可以插入value,而不会破坏容器顺序的第一个位置,而这个位置标记了一个不小于value 的值
###代码:

#include 
 
using namespace std;
 
int sum[100005];
 
int main() {
    int n;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        int a;
        scanf("%d", &a);
        sum[i] = sum[i - 1] + a;
    }
    int q;
    scanf("%d", &q);
    while (q--) {
        int d;
        scanf("%d", &d);
        int pos = lower_bound(sum, sum + n + 1, d) - sum;
        printf("%d\n", pos);
    }
    return 0;
}

##2. 瞌睡

题目:

就是一个傻逼小孩上课打瞌睡,然后还想让同桌叫醒他,让他再学那么几分钟,让我们求这个傻逼小孩上课收益最大(能听到课内容最多)

你可能感兴趣的:(找工作)