本文地址:http://blog.csdn.net/shanglianlm/article/details/72590673
问题:
度度想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同,度度想买一顶价格第三便宜的帽子,问第三便宜的帽子价格多少?
输入描述:
首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000)
输出描述:
如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1
输入例子:
10
10 10 10 10 20 20 30 30 40 40
输出例子:
30
java代码:
package com.mingo.common;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class DuDuXiongBuyHat{
public static int BuyHat(ArrayList<Integer> list){
int result = 0;
Set<Integer> setInt = new TreeSet<Integer>();
setInt.addAll(list);
Iterator<Integer> iterator = setInt.iterator();
int j=0;
while(iterator.hasNext()&&j<3){
result = iterator.next();
j=j+1;
}
return result;
}
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=0;i<10;i++){
int randInt = (int) (Math.random() * 1000);
list.add(randInt);
}
System.out.println("输入数组为:");
for(Integer li:list){
System.out.print(li+", ");
}
System.out.println();
int value = BuyHat(list);
System.out.println("第三便宜的帽子价格:"+value);
}
}