华为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);
}
相关推荐
闲猫8 小时前
Spring AI 对接Deepseek ChatModel 聊天对话
java·前端·spring
海石8 小时前
1500分的题目,确实有实力,不过还是我略胜一筹
算法·leetcode
海石8 小时前
【记忆化搜索】条条大路通AC,走好适合你的那一条,走到后再考虑走得快
算法·leetcode
自信的未来10 小时前
JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
java·前端·json
Brookty10 小时前
【JavaEE】线程安全(一).4:写块串行保安全、CAS
java·开发语言·java-ee·多线程·线程安全
Jerry10 小时前
LeetCode 151. 反转字符串中的单词
算法
怕孤单的草丛10 小时前
缓存管理面临的主要问题
java·数据库·缓存
gugucoding11 小时前
31. 【C语言】堆栈与队列的实现
c语言·开发语言·数据结构·链表
ChaoZiLL12 小时前
我的数据结构3——链表(link list)
数据结构·链表