携程4.28笔试题解

A 游游的数组相邻去重

简单模拟题。

#include <bits/stdc++.h>
using namespace std;

const int N = 3 + 1e5;

int n, a[N];

int main() {
    cin >> n;
    for (int i = 1; i <= n; ++i) {
        cin >> a[i];
    }
    for (int i = 1; i <= n; ++i) {
        int j = i;
        while (j + 1 <= n && a[i] == a[j + 1])
            ++j;
        cout << a[i];
        if (j > i) {
            cout << "(" << j - i + 1 << ")";
        }
        cout << " ";
        i  = j;
    }
    return 0;
}

B 游游的水果大礼包

看数据范围可以O(n),直接枚举第一个礼包的数量算最多还能搞几个二号礼包就行了。

#include <bits/stdc++.h>
using namespace std;
using LL = long long;

LL n, m, a, b;

int main() {
    cin >> n >> m >> a >> b;
    LL ans = 0;
    for (int i = 0; i * 2 <= n && i <= m; ++i) {
        int j = min(n - 2 * i, (m - i) / 2);
        ans = max(ans, i * a + j * b);
    }
    cout << ans << endl;
    return 0;
}

C 游游的字母串

枚举最终变成什么字母,然后单个字母的操作次数是可以O(1)算出来的。

#include <bits/stdc++.h>
using namespace std;

string s;

int solve(int c) {
    int ans = 0;
    for (auto& i : s) {
        ans += min((c - (i - 'a') + 26) % 26, (i - 'a' - c + 26) % 26);
    }
    return ans;
}

int main() {
    int ans = 1e9;
    cin >> s;
    for (int i = 0; i < 26; ++i) {
        ans = min(ans, solve(i));
    }
    cout << ans << endl;
    return 0;
}

D 游游的不相邻取数

看数据范围就知道可以O(n^2),设dp[i][j]代表前i个数,取的数中5的因子数量不超过j的情况下,2的因子的最大值,这样就可以完成转移了。

这个题有个类似的题:https://www.nowcoder.com/practice/a2be806a0e5747a088670f5dc62cfa1e

但做法还是有区别的,这道题得开二维,不能硬搬2333

#include <bits/stdc++.h>
using namespace std;

const int N = 1003;

int n, a[N], b[N], c[N];
int dp[N][N * 5];

int main() {
    cin >> n;
    for (int i = 1; i <= n; ++i) {
        cin >> a[i];
        while (a[i] % 5 == 0) {
            ++b[i];
            a[i] /= 5;
        }
        while (a[i] % 2 == 0) {
            ++c[i];
            a[i] /= 2;
        }
    }
    int ans = 0;
    memset(dp, -0x3f, sizeof(dp));
    dp[0][0] = 0;
    dp[1][0] = 0;
    dp[1][b[1]] = c[1];
    for (int i = 2; i <= n; ++i) {
        for (int j = 0; j <= 5000; ++j) {
            dp[i][j] = dp[i - 1][j];
            if (j >= b[i]) {
                dp[i][j] = max(dp[i][j], dp[i - 2][j - b[i]] + c[i]);
            }
            ans = max(ans, min(j, dp[i][j]));
        }
    }
    cout << ans << endl;
    return 0;
}
#携程笔试##笔试题目##笔经##携程#
全部评论
昨天刚做过,第二题确实没理解透,感谢作者分享求解思路!
点赞 回复 分享
发布于 2022-04-29 20:46
感谢分享,这些都说经典题啊,希望能用到
点赞 回复 分享
发布于 2022-04-29 13:20

相关推荐

04-16 11:34
河海大学 Java
面试前一分钟&nbsp;从电话面改成了视频面试&nbsp;另一个HR面和这个时间重了,我给推了来面淘天,你不要不知好歹面试官人还不错&nbsp;也很友善&nbsp;倒是感觉他有点困哈哈哈&nbsp;一直打哈欠&nbsp;搞得我也想打&nbsp;经过二面的拷打,狠狠看了两天的消息队列和JUC,结果一个没问不过一直引导面试官问我最擅长的这些部分,所以他也没怎么问到哈哈无八股拷打(算是结合项目八股)&nbsp;无手撕&nbsp;(8场面试就两场手撕&nbsp;我无敌啦)希望就就此结算啦&nbsp;看在我为牛客贡献了这么多面经的情况下&nbsp;就让我过吧!!!!&nbsp;许愿OC&nbsp;爱牛油们,帮我积攒一下好运 (我英文不好,打错单词知道是什么意思就好啦)1.自我介绍2.你后面要考研么?3.FunctionCall怎么实现的?4.说说Langchain这个框架的整体设计思路,整体流程5.memory模块怎么实现的呢?6.LLM和tool是怎么配合的?怎么选择和调用的?7.对比过Manus么?&nbsp;Manus源码看过么?阿里的SpringManus了解过么?8.网盘项目你学习到什么技术?9.为什么要分片上传?你怎么分的片?10.分布式相关的技术了解过么?11.你觉得你哪方面的底层原理了解的比较好?(引导回大模型这里,省得问我JUC)12.TRansfomer底层说说?参数?QKV你说说?自注意力机制介绍?怎么生成下一个字的?自回归?闲聊时刻!1.有用大模型解决什么实质的问题么?2.Java语言是自学的么?为什么学Java?(踩了坑说感觉IOC,DI非常神奇,然后就问了我底层实现,答得一般)3.推荐你看看Spring源码相关的书籍,源码,视频啥的只能帮助你了解一个大概......4.我看你写了很多中间价,哪个你觉得比较深入?redis如何做到这么高效的?5.你觉得C语言为什么就这么高效?和Java有什么不同?与什么优势?&nbsp;(答的不太好,忘光了,不过面试官只是笑笑)6.小米训练营是个什么玩鹰?学到了啥?7.你学习怎么样?Web相关得有什么理解么?Session&nbsp;Cookie有什么了解么?底层原理是什么?用过么?8.你其他公司有什么在流程么?有拿到Offer么?9.你家在哪里呀?日后打算在在哪里?10.为什么不读研呢?没考虑过么?11.自己有写过一些除项目之外的代码么?代码啥的能看到么?12.主动请缨该它展示了一下AI项目,演示了我准备好的四个用例,还好AI没发疯,整体效果还不错13.这个项目你写了多久的时间?主动展示了一下我的学习能力XXXX14.我们就在杭州的阿里总部?问了下核心么,面试官有点小傲娇,全世界的商品都走我们这,你说核不核心(傲娇脸)许愿OC许愿OC许愿OC许愿OC许愿OC许愿OC许愿OC许愿OC许愿OC许愿OC许愿OC许愿OC许愿OC许愿OC许愿OC#牛客AI配图神器##淘天##淘天26届春招#
查看24道真题和解析
点赞 评论 收藏
分享
04-26 13:41
已编辑
#非技术er求职现状#1️⃣字节产运(用户增长)-转正难ai产品在海外的推广,主要是做拉新投流的,提升品牌声量,整体好像不是特别产品运营,产运主要体现在出海时国内产品的功能适应性优化,个人体感to&nbsp;c前端靠市场,但是业务刚刚开始完全零到一,如果做的好,转正后应该晋升都很好,但是字节每年都有各种新开业务,暑期干新业务会不会风险,万一黄了?2️⃣京东用户运营-转正率只是说还行但是没明确提+校招扩招带来转正不确定性,但是终面不过有两次直通别的部门终面的机会主要做金融板块拉新,也会有用户留存、促活,感觉偏前端执行,活动运营,感觉特别缺人,但是听说业务量增长很快,不知道互联网金融是不是一个很赚钱的业务和风口呢?但是金融产品经验的可复用性是否较低3️⃣快手主站用户运营-转正率未知,但快手整体转正率不高做的是快手app的热点业务,偏策略向,4️⃣美团用户运营,产运序列,做红包补贴策略,从数据角度出发支持外卖等各种私域和分销渠道的用户增长,对数据能力要求高,偏中后台策略向⚠️是不是这种业务不太赚钱?⚠️非金融和大模型出身,纯文科1️⃣在金融、大模型方面去做可能没什么优势,不知道最后转正会不会受影响以及出来之后这段经历的认可度会不会打折扣2️⃣秋招想做产运,不知道选这四个中的哪个对转产运比较好,是数据导向的中后台策略还是前端to&nbsp;c呢?3️⃣已有海外方向经历,接下来是选国内市场还是国外市场比较好?但是如果还选海外市场做暑期,之后秋招再转做国内是不是就很难了?我这种情况选国内市场为以后正职方向好还是国外好呢?#非技术er求职现状##美团##快手##字节跳动##京东#
投递快手等公司10个岗位 非技术er求职现状
点赞 评论 收藏
分享
评论
6
18
分享

创作者周榜

更多
牛客网
牛客企业服务