2015年华为提前招聘机试题--输出最大的三位数

题目如下:输入十个0~9的数字,可重复输入,从里面挑出三个数组成最大的三位数,输出数字不可有重复


import java.util.Scanner;


public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);


int[] nums;
nums = new int[10];


for (int i = 0; i < 10; i++) {
int number = sc.nextInt();
if (number >= 0 && number < 10) {
nums[i] = number;
} else {
i--;
}


}


System.out.println(getMax(nums));
}


public static int getMax(int[] nums) {
for (int i = 0; i < nums.length - 1; i++) {
for (int j = i + 1; j < nums.length; j++) {
if (nums[i] < nums[j]) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}


int total = nums[0] * 100;


int flag = 0;
for (int i = 1; i < nums.length - 1; i++) {
if (nums[i] != nums[0]) {
total += nums[i] * 10;
flag = i;
break;
}
}


for (int i = flag; i < nums.length - 1; i++) {
if (nums[i] != nums[0] && nums[i] != nums[flag]) {
total += nums[i];
flag = i;
break;
}
}


return total;
}
}

你可能感兴趣的:(2015年华为提前招聘机试题--输出最大的三位数)