623: 程序设计C 实验五 题目六 排序查找(python)

已收藏

难度:简单

标签:暂无标签

题目描述

采用选择法对15个整数排序,排序完成后各整数按照从大到小的顺序排列。排序完成后输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。

输入

  

输入共有两行: 第一行输入15个整数. 第二行输入你要查找的整数.

输出

  

输出你要查找的整数在排好序的数组中是第几个元素.如果该数不在数组中,则输出“wucishu!”。如果输入的数在数组中有多个,则输出此数在排好序后的数组中第一次出现的位置.具体请见Sample Output .

样例输入复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
15
样例输出复制
1

题目提供者:西南科技大学计算机学院C++程序设计实验指导书 v1.2

时空限制:1000ms/65535kb

通过次数:3578

提交次数:13914

def binarySearch(list,temp):
    l = 0
    r = len(list) - 1
    while l<=r:
        mid=l+(r-l)//2
        if list[mid]<temp:
            r=mid-1
        elif list[mid]>temp:
            l=mid+1
        elif list[mid]==temp:
            return mid
    return -1
list=list(map(int,input().split()))
n=int(input())
for i in range(0,len(list)-1):
    for j in range(i+1,len(list)):
        if list[i]<list[j]:
            list[i],list[j]=list[j],list[i]
if binarySearch(list,n)+1==0:
    print("wucishu!")
else:
    print(binarySearch(list,n)+1)

注意排序后的数组是从大到小的,依次不能使用普通的二分查找,而是要反号

相关推荐

  1. 623: 程序设计C 实验 题目 排序查找python

    2024-04-06 12:50:02       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-06 12:50:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-06 12:50:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-06 12:50:02       82 阅读
  4. Python语言-面向对象

    2024-04-06 12:50:02       91 阅读

热门阅读

  1. js实现图片放大镜

    2024-04-06 12:50:02       40 阅读
  2. Streamlit 构建大语言模型 (LLM) web 界面

    2024-04-06 12:50:02       31 阅读
  3. txpcg面经总结

    2024-04-06 12:50:02       26 阅读
  4. 90天玩转Python-02-基础知识篇:初识Python与PyCharm

    2024-04-06 12:50:02       38 阅读
  5. c++高精度计算20除法High-precision20calculate240101

    2024-04-06 12:50:02       42 阅读
  6. 利用python 实现微信自动回复

    2024-04-06 12:50:02       31 阅读
  7. 拼多多商家电话采集步骤,软件使用教程详解

    2024-04-06 12:50:02       77 阅读