练习:排序数组中查找元素的第一个和最后一个位置



练习:在排序数组中查找元素的第一个和最后一个位置


   CSDN“每日一练”python题目。

  1. 题目
  2. 代码运行效果
  3. 完整代码

练习题目

在这里插入图片描述


回首页

代码运行效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


回首页

python完整代码
(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)
#/usr/bin/nve python
# coding: utf-8
import os


'''在排序数组中查找元素的第一个和最后一个位置'''


def clear():
    '''Linux清屏'''
    l = os.system('clear')


def find_target(nums, target):
    '''查找目标元素位置'''
    if nums.count(target)==0: #与下一行代码等效,可以据自己喜好选用。
    #if target not in nums: 
        return -1, -1 #查找目标不在数组中,返回(-1, -1)
    if nums.count(target)==1:
        start = nums.index(target)
        return  start, start #查找目标在数组中只有一个元素,返回该位置
    start = None #初始化起始位置
    for i in range(len(nums)): #遍历数组长度,记录元素位置
        if nums[i]==target and start is None:
            start = i #记录起始位置
        if nums[i]!=target and start is not None:
            end = i-1 #记录结束位置
            return start, end


nums = [5, 7, 7, 8, 8, 10] #升序数组
#nums = []
target = 6 #查找目标
result = find_target(nums, target)
line = '﹊'*21 #一条插值字符串格式化语句定制输出最后结果
line0 = '\n'*6
clear()
print(f'{line0}升序数组:{nums}\n{line}\n    目标“{target}”位置所在:{result}\n{line}\n')

回首页

我的博文推荐:

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    梦幻精灵_cq

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值