广联达 9.00 - 22.00 自选两个小时做题,赛码白板写题,不能编译运行。一共四个大题
给一个数组arr[], 要求按照每个元素的二进制表示中1的数目升序排序,如果1的数目一样,就按着大小排序。
样例:
输入:乱序这个数组,输出这个数组[0, 1, 2, 8, 3, 5, 6, 7]
输入:乱序这个数组 ,输出这个数组[1, 2, 4, 8, 16, ]
输入:。。。 输出:[10000, 10000]
输入:。。。 输出:[10, 1000, 10000, 1000]
数组长度 [1, 500] 数字大小 [0, 10^4]
N个囚犯,N个房间,N> 3,编号都为 1 - N,囚犯号和监狱号一一对应,现在重新分配房间,要求相邻编号的囚犯不能分配到相邻间,输出分配方案
in:4; out :2413,3142
n个数的全排列,回溯法过程中进行剪枝,相邻的数值不能放相邻房间。
有一个队列,里边每个人表示为[h, k],h为这个人的高度,k 为排在这个人前边且身高大于等于h的人的个数。要重建这个队列。
人数 < 1100;
in: [ [7,0],[4,4],[7,1],[5,0],[6,1],[5,2] ]
out: [ [5,0],[7,0],[5,2],[6,1],[4,4],[7,1] ]
这题不会!!
给一个数组为钢筋的长度,不能截断,不能不用,可以连接,要判断能不能拼成正方形。
in : [1,1,2,2,2] out:true
in:[3,3,3,3,4] out :false