华为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);
}
相关推荐
来来走走16 小时前
Android开发(Kotlin) 协程
android·java·kotlin
河铃旅鹿17 小时前
Android开发-java版:Framgent
android·java·笔记·学习
y***613118 小时前
【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目
java·spring boot·spring
tanxinji18 小时前
RabbitMQ四种交换器类型详解及示例
java·rabbitmq
刘一说18 小时前
一次生产环境 Tomcat 7 + JDK 7 应用启动失败的完整排查与修复实录
java·tomcat·firefox
七夜zippoe18 小时前
JVM类加载机制(Class Loading)详解:双亲委派模型与破坏实践
java·开发语言·jvm·类加载·双亲委派
黄昏恋慕黎明19 小时前
spring MVC了解
java·后端·spring·mvc
无敌最俊朗@21 小时前
力扣hot100-206反转链表
算法·leetcode·链表
-Xie-21 小时前
Redis(八)——多线程与单线程
java·数据库·redis
Kuo-Teng21 小时前
LeetCode 279: Perfect Squares
java·数据结构·算法·leetcode·职场和发展