24字节提前批-C++后端-一面

1.TCP怎么建立连接
2.有抓过包吗 (无)
3.TCP的可靠性怎么保证
4.如果同时有大量客户并发建立连接,服务器端有什么机制进行处理(寄)
5.linux命令用过哪些
6.死锁怎么产生
7.怎么避免死锁
8.项目
算法:小于n的最大数(寄)
给一个数n,一个数组A,返回由A中元素组成的小于n的最大数
如n=23121,A={2,4,9| 返回22999
n=23121 A={9} 返回9999
n=23333 A={2,3} 返回23332
n=2222 A={2} 返回222
n=2 A={2} 无解

-----------------------
update: 过了两周突然约了二面,麻了,一面答成这个样子还能过,感谢字节
全部评论
先对原数组维护一个limit的布尔数组 表示当前位后面的数位的最小值是否比可选数字中的最小值小。然后从第一位开始,用二分查找去可选数组中找到≤该数位值的最大值,如果最大值小于数位值,则直接填写该最大值,后面全部设为9。否则,判断limit,如果为true,表示该位置无法选择跟数位相同的值,填写最大值前一位数,后面全部设为9;如果为false,则填写该数位值,并继续下一位的选择。
8 回复 分享
发布于 2023-07-21 17:00 重庆
回溯算法,可重复组合,组合都小于n。输出组合集中最大的。
6 回复 分享
发布于 2023-07-22 00:03 天津
为啥我们V专的计网课程实验都要求用wireshark抓包
6 回复 分享
发布于 2023-07-23 19:38 江苏
同校同届同院同挂
5 回复 分享
发布于 2023-07-22 17:56 上海
这个算法题在字节面试非常常见(推荐广大面试同学记住这道题),最基础的方法是回溯
5 回复 分享
发布于 2023-07-23 13:34 北京
校友是本科还是硕士啊
4 回复 分享
发布于 2023-07-21 14:16 广东
同一个算法题😂,也寄了
1 回复 分享
发布于 2023-07-20 23:34 北京
m
1 回复 分享
发布于 2023-07-21 08:30 陕西
从个位往前贪心判断差值最小就行吧,保证前面一致最后一位选小的,或者不一致的那一位后面全选最大数
1 回复 分享
发布于 2023-07-21 14:52 北京
佬 约二面了吗
1 回复 分享
发布于 2023-07-27 22:50 北京
微众银行校招启动啦,扫码选择意向岗位,填图片上码免筛选,详情点击https://www.nowcoder.com/share/jump/85127301693231654506
1 回复 分享
发布于 2023-08-30 12:04 广东
像是数位dp啊
点赞 回复 分享
发布于 2023-07-21 08:05 江苏
这个算法题要老命了
点赞 回复 分享
发布于 2023-07-21 16:34 吉林
周五比较放松给你写一下吧,兄弟们想投我们这边请刷我帖子 #include <bits/stdc++.h> using namespace std; //直接从前往后跑一遍当前数字能不能改取个最值就行,复杂度10*len(n), int main() { int n = 23121; string s = std::to_string(n); vector<int> num = {2, 4, 9}; vector<bool> flag(10, 0); int max_num = 0; for (auto e : num) { flag[e] = 1; max_num = max(max_num, e); } int minl = -1; int pre_num = 0; //特判一下前导零少位的情况 for (int i = 0; s[i]; i++) { pre_num = pre_num * 10 + max_num; if (pre_num < n) { minl = max(minl, pre_num); } } pre_num = 0; for (int i = 0; s[i]; i++) { // 换这一位 int index_num = s[i] - '0'; for (auto e : num) { if (e < index_num) { int ans = pre_num * 10 + e; // 后面放最大 for (int j = 1; j < s.size() - i; j++) { // 这里可以预处理个数组去掉 ans = ans * 10 + max_num; } minl = max(minl, ans); } } pre_num = pre_num * 10 + index_num; } if (minl == -1) minl = -1;// 无解 cout << minl << endl; return 0; }
点赞 回复 分享
发布于 2023-07-21 17:48 北京
从n开始减到min{A},每个数都判断是否由A组成,可以不😥
点赞 回复 分享
发布于 2023-07-22 17:46 福建
感谢分享
点赞 回复 分享
发布于 2023-07-23 00:24 北京
感谢😊
点赞 回复 分享
发布于 2023-07-23 16:27 上海
m
点赞 回复 分享
发布于 2023-07-24 04:22 湖北
佬,字节这个提前批真的不影响秋招正式批吗
点赞 回复 分享
发布于 2023-07-24 20:44 广东
手撕代码是发链接呢?还是在自己的ide上写呀?
点赞 回复 分享
发布于 2023-07-25 10:43 重庆

相关推荐

求问:27届找Java开发实习学完微服务够用吗?
数开小菜鸡:没学完微服务都够了吧佬
点赞 评论 收藏
分享
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我仔细思考了一下灵犀互娱四面为啥挂,想到了一个非常有可能的原因。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;四面是技术面,说是技术面但实际上问的全是开放性问题,比如你最近了解哪些国际进展(不限于技术),比如你对AI&nbsp;的看法等等。按理说这些问题时很好回答的,但是我犯了一个致命的问题,我一直在谈老东家。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;问到国际进展的时候,我说我了解到了字节国际电商的业务进展和今年的形式,然后面试官问你觉得国际电商业务转好的原因是什么,我又一直在谈周受资的牛逼和能力之强大。聊到AI的看法时,我也提到实习的时候字节这边也有很多AI结合创新的点子,等等。我提了太多太多的字节,在四面的时候,这是很致命的,给面试官一种你其实根本不想去他们那边,只关注字节的感觉。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这是我踩到最大的雷区。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以下还有几个我认为的雷区:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.提前准备没做好&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在实习的时候面钉钉,当时提前10分钟我才发现没有给我发邮件,想找hr或者面试官的邮箱和联系方式也找不到,最后只能等面试官打电话问我怎么没通过他的钉钉好友,我才知道要下载钉钉。那个时候以及迟到两分钟了,然后现场下钉钉,手机电脑扫码之类的,最后迟到十分钟才进去。虽然疯狂道歉,回答的也还行,但是泡了9天挂了。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.突发状况影响面试体验&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这个点就是,面试官可以有突发状况,但你不能有(扶额苦笑)。秋招面美团到店二面,首先是面试面着面着突然掉线,然后花了一点时间才上来;其次是会议室约的时间不够,写算法写到一半,后面的人来了,只好跟面试官说换个位置。最重要的,以上情况加上手撕没撕出来。。。挂了是我活该。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;大家还遇到过什么奇葩原因挂你的,可以评论分享一下,避免再次踩雷!#牛客创作赏金赛##24届软开秋招面试经验大赏##如何判断面试是否凉了#
点赞 评论 收藏
分享
51 323 评论
分享
牛客网
牛客企业服务