#校招笔试##百度#总体看,难度并不大,在认真复习Java相关内容后一定能过
全部评论
佬,刚做完吗,我是B卷,你的呢佬
点赞 回复 分享
发布于 10-19 20:01 江苏

相关推荐

来,说点可能被同行“骂”的大实话。🙊当初接数字马力Offer时,朋友都说:“蚂蚁的“内包”公司?你想清楚啊!”但入职快一年后的今天,我反而对他有了不一样的看法!🔹 是偏见?还是信息差!之前没入职之前外面都在说什么岗位低人一等这类。实际上:这种情况不可至否,不能保证每个团队都是其乐融融。但我在的部门以及我了解的周边同事都还是十分好相处的~和蚂蚁师兄师姐之间也经常开一些小玩笑。总之:身份是蚂蚁公司给的,地位是自己挣的(一个傲娇女孩的自述)。🔹 待遇?玩的就是真实!试用期工资全额发!六点下班跑得快(早9晚6或者早10晚7,动态打卡),公积金顶格交。别听那些画饼的,到手的钱和下班的时间才是真的(都是牛马何必难为牛马)。🔹 能不能学到技术?来了就“后悔”!我们拥有权限直通蚂蚁知识库,技术栈多到学不完。说“学不到东西”的人,来了可能后悔——后悔来晚了(哈哈哈哈,可以不学但是不能没有)!💥 内推地址:https://app.mokahr.com/su/ueoyhg❗我的内推码:NTA6Nvs走我的内推,可以直达业务部门,面试流程更快速,进度可查!今天新放HC,之前挂过也能再战!秋招已经正式开始啦~机会就摆在这,敢不敢来试一试呢?(和我一样,做个勇敢的女孩)
帮你内推|数字马力 校招
点赞 评论 收藏
分享
A卷,选择题不做记录,只做编程题记录。编程题有点思考量,最终还是写完了,3/3,希望有面试编程1:一个数组,每次可以选择一个元素a[i],拆成两个和为a[i]的正整数x,y问最少多少次拆分可以让数组最大值不超过最小值的2倍n<=2e5,1<=a[i]<=1e9解法:记录最小值mn,把超过2mn的数字都强制拆成2mn,不足保留余数。这样每次拆分代价就是a[i]/(2mn)-1,如果a[i]无法整除2mn需要多拆一次。复杂度O(n)编程2:一个数组,每次可以选择两个下标i,j,如果n/i==n/j(下取整),则可以把a[i]和a[j]同时变成gcd(a[i],a[j])令最终数组和最小n<=2e5,a[i]<=1e9解法:不妨令n/i(下取整)相同的元素放在一起考虑,他们之间会相互影响,则最小化元素和,就是把每个元素变成他们的公共gcd,计算公共gcd只需要顺序累计gcd即可。复杂度O(nloga[i])编程3:一个数组,每次可以交换两个相邻元素,让数组变成单峰序列,求最小交换次数n<=5e5,a[i]<=1e9解法:按数值从小到大考虑。最小的数值肯定是排在序列头或者序列尾,可以发现每次考虑完最小元素,剩余元素就变成了一个规模缩小的子问题。只需要每次看把最小元素放在头所需步骤更少,还是放在尾所需步骤更少。另外还需要考虑相同元素的情况。先考虑最小元素是单独出现的情况,只需判断元素在原数组里,前面有多少个数字,后面有多少个数字即可。考虑完就把数字从原数组删掉。这里可以用线段树、树状数组、或者提前预处理逆序对也ok然后是相同数字如何处理,假设有k个相同的最小元素。不妨考虑其中q个放在队头,p个放在队尾。很显然我们需要按照这些元素原来的相对顺序,前q个依次放队头,后p个逆序依次放队尾,这样是最优的。直到这个顺序就可以枚举多少个放队头,这里预处理每个元素移动到队头队尾所需的步骤,然后用前缀和优化即可。最终总复杂度O(nlogn)
Mmmmei:为啥我的第一第二题思路是一样的就是不能ac,第一题还显示复杂度超了
投递大连飞创信息技术有限公司等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务