2017百度实习生春招java笔试题 输出第三便宜价格

    度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。
    度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?
        输入描述:
              首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000)
         输出描述:
        如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1
         输入例子:
        10
        10 10 10 10 20 20 30 30 40 40
         输出例子:

        30

package baidu;

import java.util.Hashtable;

import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Scanner;
/**
 * 度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。
 * 度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?
        输入描述:
              首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000)
         输出描述:
	    如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1
         输入例子:
		10
		10 10 10 10 20 20 30 30 40 40
         输出例子:
        30
 *
 */
public class ThirdPrice {

	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);
		//使用Hashtable去重
		Hashtable numbers=new Hashtable<>();
		double entry = 0;
		int numCount;//价格的个数

		numCount = input.nextInt();//输入价格的个数
		
		if (numCount <= 50) {
			for (int i = 0; i < numCount; i++) {
				entry = input.nextInt();
				if (entry > 1000 || entry<=0) {
					System.exit(0);
				} else {
					//若Hashtable包含改价格,进行下次循环
					if (numbers.containsKey(entry)) {
						continue;
					}else {
						//若Hashtable内不包含该价格,则放在Hashtable中,
						//这里用key保存价格,因为keyz在Hashtable中只能是唯一的,value设为1,也可以是其他值
						numbers.put((int) entry, 1);
					}
				}
			}

			int[] sortedNumbers = new int[numbers.size()];
			Iterator> it=numbers.entrySet().iterator();
			int k=0;
			while (it.hasNext()) {
				sortedNumbers[k]=it.next().getKey();//将Hashtable的Key取出放在价格数组中
				k++;
			}
			
			int temp=0; 
			//对价格数组进行排序
	        for (int i=0;i



输出结果:

                          2017百度实习生春招java笔试题 输出第三便宜价格_第1张图片

你可能感兴趣的:(2017,实习生,百度java,笔试题)