zoukankan      html  css  js  c++  java
  • 百度--买帽子

    度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?

    输入描述:
    首先输入一个正整数N(N <= 50),接下来输入N个数表示每顶帽子的价格(价格均是正整数,且小于等于1000)
    输出描述:
    如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1
    输入例子:
    10
    10 10 10 10 20 20 30 30 40 40
    输出例子:
    30

    这道题想用set集合来做,set有自动排序的功能,而且相同的值只能有一个,所以当把所有的价钱放进set集合后,set中的第三个数就是我们要的价格。当然,在此之前我们需要判断一下set.size()是否小于3,如果小于3,则输出-1。

    #include <iostream>
    #include <algorithm>
    #include "string.h"
    #include "stdio.h"
    #include <vector>
    #include<utility>
    #include "math.h"
    #include <set>
    using namespace std;
    
    int main() {
        int n;
        set<int> arr;
        cin>>n;
        if(n>50)
            return 0;
        for(int i = 0;i<n;i++)
        {
            int hat;
            cin>>hat;
            if(hat>1000)
                return 0;
            else
                arr.insert(hat);
        }
        if(arr.size()<3)
        {
            cout<<"-1"<<endl;
            return 0;
        }
        set<int>::iterator ite1 = arr.begin();
    
        //这里是想把指向第一个元素的迭代器++,使它指向set中的第三个元素   
    for(int i=0;i<2;i++) { ite1++; } cout<<*ite1<<endl; return 0; }
  • 相关阅读:
    【11_83】Remove Duplicates from Sorted List
    【10_169】Majority Element
    【09_242】Valid Anagram
    【08_238】Product of Array Except Self
    【07_226】Invert Binary Tree
    【6_100】Same Tree
    【5_283】Move Zeroes
    【4_237】Delete Node in a Linked List
    mysql性能优化-慢查询分析、优化索引和配置
    生成商品条形码代码事例
  • 原文地址:https://www.cnblogs.com/omelet/p/6798358.html
Copyright © 2011-2022 走看看