秋招blog--蚂蚁笔试
时间100分钟,选择题 + 3 道算法
1. 给一个数组和一个数字 k,数组的价值等于数组中正数与负数的差。将数组中 k 个元素变为其相反数,计算数组最大价值。变为相反数的优先级为:负数 > 0 > 正数。
2. 给一个二维 char 数组,char 之能是 「.」 或者 「*」,问二维 char 数组中由 '*' 构成的字母是 「T」还是「F」。找到交叉点的位置,然后统计交叉点上下左右四个相邻位置「*」的个数。2 -> F。3 -> T。
3. 给一个数字d,代表数组中不同元素至少得有d个。要求构造数组满足任意两个不同元素在数组中位置都相邻,问数组至少得多长。d 在 10^5 次方,暴力的话肯定要爆,应该要找规律,找了一下懒得找了。
1. 给一个数组和一个数字 k,数组的价值等于数组中正数与负数的差。将数组中 k 个元素变为其相反数,计算数组最大价值。变为相反数的优先级为:负数 > 0 > 正数。
2. 给一个二维 char 数组,char 之能是 「.」 或者 「*」,问二维 char 数组中由 '*' 构成的字母是 「T」还是「F」。找到交叉点的位置,然后统计交叉点上下左右四个相邻位置「*」的个数。2 -> F。3 -> T。
3. 给一个数字d,代表数组中不同元素至少得有d个。要求构造数组满足任意两个不同元素在数组中位置都相邻,问数组至少得多长。d 在 10^5 次方,暴力的话肯定要爆,应该要找规律,找了一下懒得找了。
全部评论
算法卷呢 大家做的咋样 好难。。。1 0.33 0.05
第二个题给的例子,L的那个不是镜像反转了,交叉点上下左右也是3个'*'?
有题解吗第三题
第三题找规律
为什么第三题java用long[]接收只能过百分之73.3
我第三题找的从4开始,d为偶数,答案是d * (d-1)/2 + d/2, d是奇数,答案是 d*(d-1)/2 + d % 4。但是只能过90%
1 1 0.2
第一题还是不懂老哥 为什么负优于正
相关推荐