手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > python教程 > 文章 当前位置: python教程 > 文章

python练习程序python练习软件初中python练习题

时间:2022-07-29    点击: 次    来源:网络    作者:佚名 - 小 + 大

python练习程序python练习软件初中python练习题



下载地址

https://share.weiyun.com/OvviwGnZ




资料目录
Python练习集100题
100道Python面试题
Python100经典练习题
Python经典题目100道题
Python题库(已收录100道真题)
Python100例视频讲解课程
菜鸟教程Python教程100例
130道python练习题,涵盖基础内容的方方面面
Python考试题复习知识点试卷试题
PYTHON测试题和答案
python第一阶段考试题
Python经典面试题和答案解析
python期末考试复习试卷
python习题集大全(附答案解析)
老男孩Python全栈7期练习题(面试真题模拟)
尚观python第一阶段考试(面试真题模拟)
《Python程序设计基础与应用》习题答案
《Python快速编程入门》——课后题答案
Python编程基础张健 , 张良均课后习题及答案
Python程序设计基础及实践(慕课版)郭炜习题答案
Python程序设计基础习题答案与分析
python基础试题(含答案)

举例

删除有序序列中的重复项
题目要求
已知一个有序序列,请原地删除序列中重复出现的元素,返回删除重复元素后的序列长度。
只能使用 O(1) 额外空间来完成这个任务,例如 [0,0,1,1,1,2,2,3,3,4,4,4,5],最终返回的长度是6, 序列前6个元素是 0 1 2 3 4 5
思路分析
已知条件如下:
序列有序
只能使用O(1)额外空间,必须原地删除
需要返回删除重复元素后的长度,如果长度为N,那么序列前N个元素没有重复元素
设置一个哨兵index,初始值赋为0。用一个for循环从索引1开始遍历lst,i做迭代变量, 如果lst[i]!=lst[index],就说明lst[i]是一个比lst[index]大的元素,它应该被放置在index+1的位置上
将lst[i] 放置在index+1位置上以后,要向右移动哨兵的位置,执行index += 1,这样,即便lst[i]这个值在后面重复出现了,可此时lst[index]=lst[i],所以重复出现的值会被忽略掉,直到遇到一个与lst[index]不相等的元素,再次移动哨兵
示例代码
def remove_duplicate(lst):
    index = 0
    for i in range(1, len(lst)):
        if lst[index] != lst[i]:
            lst[index + 1] = lst[i]
            index += 1
    return index + 1

if __name__ == '__main__':
    lst = [0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5]
    index = remove_duplicate(lst)
    print index
    print lst[:index]


上一篇:python练习项目python练习系统python练习册python练习网

下一篇:没有了

推荐阅读
声明 | 联系我们 | 关于我们
备案ICP编号  |   QQ:2151239526  |  地址:北京市东城区  |  电话:16605168200  |