度度熊想去商场买一顶帽子,商场里有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<Integer, Integer> 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<Entry<Integer, Integer>> 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<numbers.size()-1;i++){
for (int j=i+1;j<numbers.size();j++){
if (sortedNumbers[j]<sortedNumbers[i]){
temp=sortedNumbers[j];
sortedNumbers[j]=sortedNumbers[i];
sortedNumbers[i]=temp;
}
}
}
int result=0;
//输出第三价格
if ((result=sortedNumbers[2])!=0) {
System.out.println(sortedNumbers[2]);
} else {
System.out.println(-1);//无第三价格,输出-1
}
} else {
System.exit(0);
}
}
}
输出结果:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN0LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX9MGVNFTWE1EeJpXTmZEWjZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TM2QDMwYjMyEjMwUDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)