您的位置:首页 > 编程语言 > Java开发

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

2015-08-16 16:34 393 查看
题目如下:输入十个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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  招聘 华为 java