#/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')
上一篇: 随机抓取三个数组逐位比对
下一篇: 盛最多水的容器
精品文章:
来源:老齐教室