Uva-10474

Uva-10474题解

Posted by 顾小五 on September 10, 2018

大致题意

题目原文

就是给出一个序列,输入数字,输出这个数字在这个序列排序后的位置,如果序列中有多个相同的数字的话输出最小的位置,给出数字可能不存在

解题思路

排序+二分

排序直接调用了STL库的sort函数,最开始手搓了一个二分,但是二分有一点要注意,二分出来的结果在有多个相同数字的时候,不一定是最小值,所以在最后加一个hack(因为这个还WA了一次(叹气

但是网上看题解的时候看到lower_bound函数

查了一下,lower_bound返回数组中比第一个大于等于输入值的位置,所以只要判断一下返回值位置的值是否等于数值,是的话就是存在,不是就不存在

完整代码 —— 二分

完整代码 —— lower_bound