华为OD 小明找位置 C语言实现

cpp 复制代码
int main(void)
{
    int i = 0;
    int len = 0;
    char c = '\0';
    int data[100];
    int left = 0;
    int right = 0;
    int middle = 0;
    int tag = 0;
    int index = 0;

    while(scanf("%d",&data[i]) == 1)
    {
        i++;
        len++;

        c = getchar();
        if(c == '\n')
            break;
    }

    scanf("%d",&tag);

//    for(i=0; i<len; i++)
//    {
//        printf("%d ",data[i]);
//    }
// printf("%d \n",tag);

    right = len-1;
    middle = (left+right)/2;

    while(left<right)
    {
        if(data[middle]>tag)
        {
            right = middle-1;
        }
        else
        {
            left = middle+1;
        }

        if(left == right)
        {
            index = left+2;
            break;
        }
        middle  = (left+right)/2;

    }

    printf("%d",index);
}
相关推荐
gAlAxy...5 分钟前
面试JAVASE基础(五)——Java 集合体系
java·python·面试·1024程序员节
ceclar12310 分钟前
C++容器list
java·c++·list
大肘子咒你19 分钟前
数字狂潮来袭
数据结构·c++·1024程序员节
张较瘦_19 分钟前
[论文阅读] 从 5MB 到 1.6GB 数据:Java/Scala/Python 在 Spark 中的性能表现全解析
java·python·scala
hansang_IR21 分钟前
【算法速成课 3】康托展开(Cantor Expansion)/ 题解 P3014 [USACO11FEB] Cow Line S
c++·算法·状态压缩·康托展开·排列映射
m0_7482336428 分钟前
【类与对象(中)】C++类默认成员函数全解析
开发语言·c++·算法
Han.miracle35 分钟前
数据库圣经-----最终章JDBC
java·数据库·学习·maven·database
scilwb39 分钟前
STM32 实战:驯服失控的 M3508 电机 - PID 位置环频率的“坑”与“药”
算法·代码规范
chonbw43 分钟前
226.翻转二叉树
算法·leetcode
艾菜籽1 小时前
MyBatis操作数据库入门
java·数据库·mybatis