0922文远知行笔试题

第一题:贪心(100分)

给一个数组arr,每次选下标i和j,对arr[i]-=1,arr[j]+=1.如果i<j,这操作免费,否则消耗一个金币。

数组长度1e5,数组的和为0.求最小对少消耗能使得所有元素变成0.

贪心思路:用ans表示消耗,用acc表示目前的累加值,顺序迭代

当acc为正时,表示当前有剩余的可以用于自减(操作免费的次数)

当acc为负时,表示需要消耗金币才能实现的操作(收费操作的次数)

#include "bits/stdc++.h"
using namespace std;
using ll = long long;
int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        int n;
        cin >> n;
        ll ans = 0, acc = 0;
        int tmp;
        for (int i = 0; i < n; i++)
        {
            scanf("%d", &tmp);
            acc += tmp;
            if (acc < 0)
            {
                ans -= acc;
                acc = 0;
            }
        }
        cout << ans << endl;  
    }
    return 0;
}

第二题:贪心(100分)

lc11.但是数据里1e7,并且没有输入数据的个数,数据多行,数据之间用','和' '隔开,主要是处理数据输入

用while (cin >> str)处理不定行

对于每行,先用stringstream按照','隔开,然后判断是不是存在非' '的字符(空的字符串或者全是' '组成的字符串调用stoi会报异常)

g++ wenyuan2.cpp && ./a.out 
terminate called after throwing an instance of 'std::invalid_argument'
  what():  stoi
Aborted

然后就是头尾双指针贪心求解,用long long存。

#include "bits/stdc++.h"
using namespace std;
using ll = long long;
int main()
{
    string str;
    vector<int> arr;
    while (cin >> str)
    {
        stringstream ss(str);
        string tmp;
        while (getline(ss, tmp, ','))
        {
            if (tmp.find_first_not_of(' ') != string::npos)
                arr.push_back(stoi(tmp));
        }
    }
    int n = arr.size();
    int l = 0, r = n - 1;
    ll ans = 0;
    while (l < r)
    {
        ans = max(ans, ll(r - l) * min(arr[l], arr[r]));
        if (arr[l + 1] >= arr[r - 1])
            l++;
        else
            r--;
    }
    cout << ans << endl;
    return 0;
}

第三题:不会写(14.29分)

就骗了一点分(写第三题时还有一个半小时,但完全不会,连暴力解的思路都没有)

#文远知行##25秋招笔试#
全部评论
我和你笔试分数居然一模一样
1 回复 分享
发布于 09-23 19:54 江苏
好消息,文远知行笔试挂了,成绩未达到预期😂
点赞 回复 分享
发布于 09-24 17:09 北京

相关推荐

不愿透露姓名的神秘牛友
11-01 21:30
点赞 评论 收藏
分享
总共四轮技术面(实际三面,但一面操作很迷,说算两面)+hr面一二面一上来手撕算法,给你一个有障碍物的网格,放棋子,不能相邻,求放置棋子的所有情况(说不放棋子也算一种情况)。刚看这题时有点像八皇后,但是不限定棋子,尝试用回溯写了下,没写出来。中途面试官说有事,临时走了,然后又来了一个面试官(直接懵逼)。向面试官说明情况后,面试官也不清楚情况,然后正常开始面试面试难度不大,聊了下项目,说他们做平台开发的也要写前端,问我会不会react(不会)。后面好像就问了一些简单的八股文。算法:镜像二叉树(没写出来,递归没想出来,用队列层次遍历发现也有问题)反问有几轮面试,他说三四面吧,前面那应该也算一次二道算法都没写出来,本以为凉了,结果收到了下一面的通知三面一个小姐姐(技术面遇到小姐姐着实有点吃惊)还是简单的八股文,网络、数据库这些。tcp连接中连接失败的原因有哪些(没答好)其他问题也忘了,整体难度不大。算法:三数之和(求最接近target的),二叉树先序遍历转双向链表,直接在二叉树的基础上改变左右指针转(还好上次面试完恶补了下二叉树的题)四面聊项目,如何提高高可用,答集群,用nginx做负载均衡,nginx服务器挂了怎么办,nginx服务器集群(后续接着问,没答好)后面也聊了一些八股算法:反转链表,遍历写完,要求再递归写,递归用了一个全局遍历保存了反转后的头节点,要求禁止用全局变量,最后在面试官的提示下写出来hr面自我介绍,是否愿意转语言了解旷视吗相对其他公司怎么选,后面改问平台、薪资、地域、工作内容四者我最看重啥(答的平台)薪资期望,明确告诉我14薪,每月多少没确定目前有其他offer吗反问:武汉研发中心情况(目前200人左右,还在扩大,在江夏区未来城)然后介绍了福利情况,早9,晚6,双休,年假10天,病假5天,一个月700饭补,加班会有额外饭补,车补。多久能出结果?旷视2025届校招启动啦!这是面向全球高校毕业生推出的一项尖端人才招募计划九个职位,两大城市米哈游招聘期待最优秀的你与我们一起共同打造AI新纪元!【网申地址】https://app.mokahr.com/campus_apply/megviihr/38642?recommendCode=DS87a6UM#/jobs【内推码】DS87a6UM投递的uu留言下姓名缩写和岗位,我会尽力跟进~(czy+产品经理)
旷视
|
校招
|
73个岗位
点赞 评论 收藏
分享
点赞 7 评论
分享
牛客网
牛客企业服务