首页 > 试题广场 >

买帽子

[编程题]买帽子
  • 热度指数:19115 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?

输入描述:
首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000)


输出描述:
如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1
示例1

输入

10
10 10 10 10 20 20 30 30 40 40

输出

30


function findCap(num, Arr){
   var result = [];
   if(num < 3){ 
      console.log(-1)
    }else{
      result = Arr.sort(function(a, b){
         return a - b;
       })
      console.log(result[2]);
      }
   }
  findCap(1, 10)

编辑于 2018-04-13 00:10:44 回复(1)

js的实现,应该算是很好的:

getN3 () {
  let list = []

  var x1 = list[0],x2 = list[1]  ,x3 = list[2];

  if(x1<x2)
  {
  x1 = x2+x1;
  x2 = x1 - x2;
  x1 = x1 - x2;
  }

  if(x3 < x2)
  {
    x3 = x3 + x2;
    x2 = x3 - x2;
    x3 = x3 - x2;
    if(x1<x2)
    {
    x1 = x2+x1;
    x2 = x1 - x2;
    x1 = x1 - x2;
    }
  }

  for(var i=3 ; i<list.length ; i++)
  {
    if(list[i] < x3)
    {
      if(list[i] < x2 )
      {
      if(list[i] < x1)
      {
        x3 = x2;
        x2 = x1;
        x1 = list[i];

      }
      else
      {
        x3 = x2;
        x2 = list[i];
      }
      }else
      {
      x3 = list[i];
      }
    }
  }
}
发表于 2018-03-08 12:35:20 回复(0)