练习:在排序数组中查找元素的第一个和最后一个位置
CSDN“每日一练”python题目。
练习题目
代码运行效果
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')
我的博文推荐:
- 尼姆游戏(聪明版/傻瓜式•人机对战)(当前阅读3217)(代码优化版)
- 练习:字符串统计(坑:f‘string‘报错)(当前阅读1210)
- 练习:求列表(整数列表)平衡点(当前阅读1687)
- 密码强度检测器(当前阅读1532)
- 电话拨号键盘的字母组合(当前阅读1029)
推荐条件 点阅破千
参考文章:
上一篇: 随机抓取三个数组逐位比对
下一篇: 盛最多水的容器
回首页
精品文章:
来源:老齐教室
CSDN实用技巧博文: