百度2017春招笔试真题编程题集合之买帽子
度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?
输入描述:
首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000)
输出描述:
如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1
输入例子:
10
10 10 10 10 20 20 30 30 40 40
输出例子:
30
1 import java.util.ArrayList;
2 import java.util.Arrays;
3 import java.util.Scanner;
4
5 /**
6 * Created by Feng on 2017/4/27.
7 */
8 public class ThirdCheap {
9 public static void main(String[] args) {
10 Scanner sc = new Scanner(System.in);
11 while (sc.hasNext()) {
12 int n = sc.nextInt();//正整数
13 int[] prices = new int[n];//n个价格
14 for (int i = 0; i < n; i++) {
15 prices[i] = sc.nextInt();
16 }
17
18 Arrays.sort(prices);
19 ArrayList<Integer> list = new ArrayList<>();
20 for (int i = 0; i < n; i++) {
21 if (!list.contains(prices[i])) {
22 list.add(prices[i]);
23 }
24 }
25
26 if (list.size() < 3) {
27 System.out.println(-1);
28 } else {
29 System.out.println(list.get(2));
30 }
31
32 }
33 }
34 }