首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客804207695号
University of Illinois at Urbana-Champaign Java
发布于江苏
关注
已关注
取消关注
@林小白zii:
2023 蚂蚁金服笔试题 蚂蚁笔试 0919
笔试时间:2023年9月19日 秋招 第一题 题目:最优化存储 (四) 支付宝服务亿级消费者,每个支付宝的用户有自己独特的信息,假设每个会员存储的成本为ai;现在有n个会员,和一块存储容器m,希望用该容器存储更多的会员信息;存储优化是个相当复杂的过程,为了简化问题,存储规则如下:每个会员的存储成本可以用长度ai的线段表示。存储容器一块,可以用一段线段m表示。存储容器有个特性,如果会员i储在容器中间位置,存储成本为ai本身,但是线段容器两端有存储压缩技术,存储在靠两端位置的会员存储成本可以压缩到一半,即 ai/2,而且每个会员只能压缩一次。现在n个会员,每个会员存储成本为ai,以及有一块存储资源,希望你做存储优化,使用尽可能小的存储容器存储下所有会员的信息。 输入描述 第一行输入一个正整数n,代表会员的数量。 第二行输入n个正整数ai,代表每个会员信息的大小 1 <= n <= 10^5 2 <= ai <= 10^9 保证ai是偶数。 输出描述 一个正整数,代表使用的存储容器大小的最小值。 样例输入 5 2 4 4 8 2 样例输出 14 提示 将第三个、第四个会员放在两端即可。使用一个大小为14的容器即可存储全部会员信息。 参考题解 贪心,将最大的放在两端,其余的放在中间。 C++:[此代码未进行大量数据的测试,仅供参考] #include <iostream>#include <algorithm>using namespace std;typedef long long LL;const int MAX_ELEMENTS = 100004;int numbers[MAX_ELEMENTS];int n;int main() { cin >> n; for (int i = 0; i < n; i++) { cin >> numbers[i]; } sort(numbers, numbers + n); LL ans = numbers[n - 2] / 2 + numbers[n - 1] / 2; for (int i = 0; i < n - 2; i++) { ans += numbers[i]; } cout << ans << endl; return 0;} Java:[此代码未进行大量数据的测试,仅供参考] import java.util.Arrays;public class Main { public static void main(String[] args) { java.util.Scanner sc = new java.util.Scanner(System.in); int n = sc.nextInt(); int[] numbers = new int[n]; for (int i = 0; i < n; i++) { numbers[i] = sc.nextInt(); } Arrays.sort(numbers); long ans = numbers[n - 2] / 2 + numbers[n - 1] / 2; for (int i = 0; i < n - 2; i++) { ans += numbers[i]; } System.out.println(ans); }} Python:[此代码未进行大量数据的测试,仅供参考] n = int(input())numbers = list(map(int, input().split()))numbers.sort()ans = numbers[-2] // 2 + numbers[-1] // 2for i in range(n - 2): ans += numbers[i]print(ans) 第二题 题目:小红合并数组 小红有一个长度为n的数组,每次操作她可以选择一个i,将ai加到ai-1或者ai+1(如果i-1 或者i+1在下标范围内),请问最少需要多少次操作,可以使数组的所有元素相等。 输入描述 一行一个整数n,表示数组的长度。 接下来一行n个整数a1,a2,...,an表示数组的初始值。 1 <= n <= 10^3 0 <= ai <= 10^4 输出描述 输出一个整数,表示最少的操作次数。 样例输入 5 1 4 2 3 5 样例输出 2 提示 第一次操作,将a2加到a1,数组变为[5,2,3,5]。 第二次操作,将a2加到a3,数组变为[5,5,5]。 参考题解 看成是对前缀和数组进行删除操作。因此枚举元素和的因子d,观察d,2d,3d……这个序列是不是原来的子序列即可,然后找到一个最长的子序列。 C++:[此代码未进行大量数据的测试,仅供参考] #include <iostream>#include <vector>using namespace std;typedef long long LL;const int N = 1004;int numbers[N], prefixSum[N], n;int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> numbers[i]; prefixSum[i] = prefixSum[i - 1] + numbers[i]; } int totalSum = prefixSum[n]; vector<int> divisors; for (int i = n; i >= 1; i--) { if (totalSum % i == 0) { divisors.push_back(i); } } int answer = 0; for (int d : divisors) { int w = totalSum / d; int c = 1; for (int i = 1; i <= n; i++) { if (prefixSum[i] == c * w) { c++; } } if (c > d) { answer = n - d; break; } } cout << answer << endl; return 0;} Java:[此代码未进行大量数据的测试,仅供参考] import java.util.ArrayList;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int[] numbers = new int[n]; for (int i = 0; i < n; i++) { numbers[i] = scanner.nextInt(); } long[] prefixSum = new long[n + 1]; for (int i = 1; i <= n; i++) { prefixSum[i] = prefixSum[i - 1] + numbers[i - 1]; } long totalSum = prefixSum[n]; ArrayList<Integer> divisors = new ArrayList<>(); for (int i = n; i > 0; i--) { if (t
点赞 3
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-24 11:26
门头沟学院 Java
秋招第一个offer
东子我爱你推进的还是很快的但是是白菜价不过有个保底心里踏实了很多
想回家的秋招侠在考古:
京东方不是京东噢,师兄当时看都不看一眼这个offer,很拉垮
点赞
评论
收藏
分享
07-25 15:28
OPPO_AI算法部_AI研究员(准入职员工)
OPPO内推
关于工作环境:base深圳前海 内部配置绝了。一整栋50层都是oppo哒,我的工位可以看到欢乐港湾和大海,零食柜自给,很感动的是每层都提供独立的隔音室,3层饭堂里,23楼是最好吃的 周边很繁华。楼下三层是大商场,午饭后我一般会和其他实习生姐妹去citywalk,好多奶茶店,茶救,奈雪 喜茶,瑞幸,奶白,煲珠公每天换着喝,好幸福 关于工作氛围 感受到相当年轻,相当扁平的氛围,我们组(销售运营部)有三个哥哥姐姐直接对接我,她们人真的很nice,笨笨的我不会时,问她们都会耐心解答~~ 关于工作内容 感觉出入还是有的,问了哥哥姐姐,他们收到五六十份简历,面了6个,最后选了我,好感动好幸运。偏大客户运营...
OPPO公司福利 670人发布
点赞
评论
收藏
分享
07-13 18:31
已编辑
阿里巴巴_软件开发(实习员工)
这简历还想找工作啊
不好意思引流了,只是想让大家来拷打实习因期末考暂停了,不想复习心血来潮制作了秋招简历的初版,希望大家拷打,后面修改的版本应该都会发,秋招和牛油们在一起*简历模仿某大佬写的,想压成一页所以有些东西故意写得很短新版简历已发,欢迎主页交流
编程界菜鸡:
都一个月,就算是实习也会觉得不稳定
点赞
评论
收藏
分享
07-06 08:49
门头沟学院 C++
友友们如何看待这个问题
事情是这样 他是双非一本大二下马上大三的学生,和我聊天过程中发现他所有课都是速成完全没学啥,只有一个java蓝桥杯b组省二。然后他认为美团快手这样的只是中厂。还觉得刚刚出来年薪20w到30w是一件很轻松的事,各位你们身边有这种啥也不知道还对未来满满自信的人吗?问他项目有什么 他搞个学生管理系统
爱睡觉的冰箱哥:
啧,有股b哥味,但没b个的实力
点赞
评论
收藏
分享
昨天 10:46
门头沟学院 客户端其它
面试劫匪??????
秋招的时候,投简历,投过一家游戏公司,Hr面环节,那老哥问我:“如果你是一个抢劫银行的团伙的头目,现在你做一个抢劫计划,说说你会怎么准备以及流程是什么”,
不想上班的芝士很想居...:
把gta5抢劫太平洋银行的前置准备工作说给他
你遇到最难的面试题目是_
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
都是 dirty work,为什么别人的简历上就能言之有物🤔
1.6W
2
...
百度提前批一面(秋招第一场也估计是压力最大的)
7695
3
...
秋招首凉-腾讯TEG 云架构平台提前批
4077
4
...
【07.29更新】能救一个是一个!26届毁意向毁约裁员黑名单
3867
5
...
干活最少的实习生因为长得漂亮转正了
3450
6
...
团孝子启动ing!
2541
7
...
令人心动的offer!!!
2459
8
...
QQ提前批一面凉经
2169
9
...
26滴滴秋招提前批Java一面
2061
10
...
mentor:你是猪吗?
1981
创作者周榜
更多
正在热议
更多
#
你遇到最难的面试题目是_
#
7375次浏览
111人参与
#
工作压力大怎么缓解
#
94023次浏览
994人参与
#
中兴秋招
#
196543次浏览
2201人参与
#
工作中哪个瞬间让你想离职
#
51506次浏览
452人参与
#
26届的你,投了哪些公司?
#
21419次浏览
264人参与
#
你最讨厌面试问你什么?
#
14792次浏览
193人参与
#
分享一个让你热爱工作的瞬间
#
32274次浏览
335人参与
#
我对___祛魅了
#
31759次浏览
301人参与
#
简历上的经历如何包装
#
13866次浏览
476人参与
#
你跟室友的关系怎么样?
#
4001次浏览
71人参与
#
如何快速融入团队?
#
11393次浏览
137人参与
#
多益网络求职进展汇总
#
31385次浏览
139人参与
#
和同事相处最忌讳的是__
#
15306次浏览
157人参与
#
什么样的背景能拿SSP?
#
16952次浏览
131人参与
#
我和mentor的爱恨情仇
#
62041次浏览
379人参与
#
打工人的精神状态
#
68166次浏览
1114人参与
#
实习生活中那些难忘的瞬间
#
165282次浏览
2451人参与
#
元戎启行求职进展汇总
#
36282次浏览
278人参与
#
牛友们的论文几号送审
#
48648次浏览
792人参与
#
总结:哪家公司面试体验感最差
#
63486次浏览
288人参与
#
百度秋招提前批进度
#
116990次浏览
1355人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务