笔试平台为子衿。
总共三道题:
一:
(1):对整数数组,把前4个元素入栈(如果不足4个,就把所有元素入栈),然后把1个元素出栈(如果不足1个,就把所有元素出栈),将栈里剩余的元素,以栈顶为开始以栈底为结束,作为一个数组返回。
Example
input:[1,2,3,4,5,6,18,11,12,13,14,15]
output:[3,2,1]
将结果传递给下一步骤
(2):对一个整数数组,使得数组中的每个元素只出现4次,将新数组从小到大排列后返回。
Example
input:[1,2,3]
output:[1,1,1,1,2,2,2,2,3,3,3,3]
将结果传递给下一步骤
(3):对一个整数数组,将数组中的元素换成它们排序(以大到小排序)后的序号,规定序号从2开始编号(包括 2)并依次递增(元案相等则序号相等),返回这个数组。
Example
input:[4,3,2,1]
output:[2,4,3,5]
二:
(1):给定一个无序数组(如果元素个数小于2,则返回0),否则将数组从小到大排序后,取其前10 个数作为新数组(如果不足10 个,就选取所有元素),找出这个新数组相邻元素之间最大的差值。
Example
input:[3,6,9,1,2,6]
output:3
将结果传递给下一步骤
(2):对一个整数,将其作为等差数列的公差,14 作为等差数列的首项,将该等差数列的前 15 项按照从大到小排列,作为数组返回。
Example
input:5
output:[84,79,74,69,64,59,54,49,44,39,34,29,24,19,14]
将结果传递给下一步骤
(3):对一个整数数组,如果数组长度为0,返回6;如果数组长度为奇数,则取其中间7个元素,求和后返回;否则,取其中间6个元素求和后返回。
Example
input:[1,2,3,4]
output:10
三:
(1):输入一个整数n(如果n<0,则n取0,如果n>1000,则n取1000),求1 ~ 3 * n,这个3 * n个整数的十进制表示中1出现的次数。例如12的十进制表示中1出现的次数:1~12这些整数中包含1的数字有1、10、11和12,1一共出现了5次。
Example
input:12
output:14
将结果传递给下一步骤
(2):给定第1个人的糖果有n块(如果n<1,则n取1,如果n>1000,则n取1000),现在有5个人坐在一起,问第5个人有多少块糖果,他说比第4个人多2块。问第4个人有多少块糖果,他说比第3个人多2块。问第3个人有多少块糖果,他说比第2个人多2块。问第2个人有多少块糖果,他说比第1个人多2块。最后问第1个人,他说有n块糖果。请问第5个人有多少块糖果?
Example
input:10
output:18
将结果传递给下一步骤
(3):对于一个整数,将其绝对值的阶乘的约数从小到大排列,取前9个作为数组返回;如果约数不足9个,则返回全部约数的数组。
Example
input:30
output:[1,2,3,4,5,6,7,8,9]