阿里笔经

第一题找规律,难度不大。第二题模拟题,有点麻烦,各种细节处理需要注意。第三题二分,但是二段性不明显,需要仔细推导。
第一题:数字卡片
小红拥有一系列数字卡片,每张卡片上印有一个数字,这些数字的取值范围为0 ~ 9。每种数字卡片的数量均有限(可能为零),且每张卡片在拼凑新数字时只能被使用一次或不用。
小红希望利用手中的卡片拼凑出若干个全新的数字。拼凑过程遵循如下规则:
-每个新数字由至少一张卡片组成,卡片上的数字按任意顺序排列后构成该数字
-排列顺序决定了新数字的数值大小(不允许存在前导0);
请你帮小红计算,她最多可以拼凑出多少个正整数的偶数数字?
第二题 解密字符串
小红拥有一系列数字卡片,每张卡片上印有一个数字,这些数字的取值范围为0 ~ 9。每种数字卡片的数量均有限(可能为零),且每张卡片在拼凑新数字时只能被使用一次或不用。
小红希望利用手中的卡片拼凑出若干个全新的数字。拼凑过程遵循如下规则:
-每个新数字由至少一张卡片组成,卡片上的数字按任意顺序排列后构成该数字
-排列顺序决定了新数字的数值大小(不允许存在前导0);
请你帮小红计算,她最多可以拼凑出多少个正整数的偶数数字?
第三题:数组第k大
小红有一个长度为 n 的数组,她可以进行任意次以下操作: 选择一个数 x ,满足 x ≥ 2,将 x 拆分为两个数,这两个数分别为 x/2 向下取整和 x/2 向上取整,并将这两个数加入数组。
例如,对于数组[1,2,3,4],可以将 4 拆分为 4=2+2,并将2和2加入数组,得到数组[1,2,2,2,3]。
小红希望进行若干次操作之后,数组的第k大尽可能大。输出数组第k大的值
具体解析如下
解析
在第三个sheet#笔试##阿里求职进展汇总##暑期实习#
全部评论

相关推荐

03-27 19:31
门头沟学院 Java
整体面试体验不错1.拷打项目+竞赛经历(10min)2.八股,整体问得很常规了算是(25min)    2.1 线程和进程的区别    2.2 线程池是怎么用的    2.3 键入url到获取网页的过程    2.4 tcp和udp的不同    2.5 数据库的隔离性介绍一下    2.6 讲一下jvm垃圾回收器    2.7 循环依赖是什么,以及Spring是怎么解决的(忘得很干净)    2.8 MySQL事务相关的,具体忘了    2.9 事务的传播原理(没听说过)    2.10 还问了一些常规八股,具体的忘了3.对项目中使用到的中间件有了解过具体实现原理吗(答除了Redis外没有了解过,只知道怎么用)4.平时遇到问题是怎么解决的(感觉没回答好)5.反问环节(7-8min)    5.1 表现如何          挺正常的就,哈哈...    5.2 有什么建议          面试官给了一些鼓励,让我坚持准备什么的总结:面试官人很好,整体氛围挺轻松,聊得还算挺开心的,感谢淘天给了这么一个机会,也怪我没有把握好吧;后续:面完秒挂进了另外一个部门泡池子至今;#牛客AI配图神器#
查看12道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务