百度2017春招笔试真题编程题集合之买帽子
1 // 2017-10-09 2 // 题目描述 3 // 度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少? 4 // 输入描述: 5 // 首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000) 6 // 输出描述: 7 // 如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1 8 // 输入例子: 9 // 10 10 // 10 10 10 10 20 20 30 30 40 40 11 // 输出例子: 12 // 30 13 14 ------------------------------------------------- 15 package com.huawei.test; 16 import java.util.ArrayList; 17 import java.util.Arrays; 18 import java.util.Scanner; 19 20 /** 21 输入描述: 22 首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000) 23 输出描述: 24 如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1 25 输入例子: 26 10 27 10 10 10 10 20 20 30 30 40 40 28 输出例子: 29 30 30 */ 31 public class Test { 32 public static void main(String[] args){ 33 Scanner scan = new Scanner(System.in); 34 while(scan.hasNext()){ 35 //输入一个正整数 36 int n = scan.nextInt(); 37 //开辟空间 38 int[] prices = new int[n]; 39 //读取价格 40 for(int i = 0; i < prices.length; i++){ 41 prices[i] = scan.nextInt(); 42 } 43 //价格排序 44 Arrays.sort(prices); 45 ArrayList<Integer> list = new ArrayList<>(); 46 //去重复 47 for(int i = 0;i < n; i++){ 48 if(!list.contains(prices[i])){ 49 list.add(prices[i]); 50 } 51 } 52 if(list.size()<3){ 53 System.out.println(-1); 54 }else{ 55 System.out.println(list.get(2)); 56 } 57 58 } 59 } 60 }