有赞笔试题目
1.求和,s=a+aa+aaa+aaaa...;如输入3,5则输出3+33+333+3333+33333;
public long sum(int num,int itemNum){
long sum=0;
for(int i=1;i<=itemNum;i++){
sum+=getNum(num,i);
}
return sum;
}
public static long getNum (int n,int m){
long a=n;
for (int i=1;i<m;i++){
a=a*10+n;
}
return a;
}
2.输入一个数组,然后不断加1或者减一,让数组中所有元素都相等,求最少变换次数
如【1,2,4】,则1,2,4->2,2,4->2,2,3->2,2,2
输出3;
public static int minMoves (int[] nums){
Arrays.sort(nums);
int [] sum=new int[nums.length];
int k=0;
for(int i=0;i<nums.length;i++){
for(int j=0;j<nums.length;j++){
if(i<j){
sum[k]+=nums[j]-nums[i];
}
else{
sum[k]+=nums[i]-nums[j];
}
}
k++;
}
Arrays.sort(sum);
return sum[0];
}
有一说一,这是第一次AK;估计是不招人了

海康威视公司福利 1134人发布