当前位置: 首页 > article >正文

Python 编程题 第十一节:选择排序、插入排序、删除字符、目标移动、尾部的0

选择排序

假定第一个为最小的为已排序序列,与后面的比较,找到未排序序列中最小的后,交换位置,获得最小元素,依次往后

lst=[1,14,25,31,21,13,6,8,14,9,7]
def selection_sort(lst):
    for i in range(len(lst)):
        min_index=i
        for j in range(i+1,len(lst)):
            if lst[min_index]>lst[j]:
                min_index=j
        lst[min_index],lst[i]=lst[i],lst[min_index]
    return lst
print(selection_sort(lst))

插入排序

假设第一个元素为已排序列,后面为未排序列,将未排序列中最左边的元素与已排序列从大到小每个元素比较,找到合适位置插入

lst=[1,14,25,31,21,13,6,8,14,9,7]
def insert_sort(lst):
    for i in range(1,len(lst)):
        key=lst[i]#未排序列最左边元素
        j=i-1#已排序列最大元素索引
        while j>=0:
            if lst[j]>key:
                lst[j+1]=lst[j]#向后挪
                lst[j]=key
            j-=1
    return lst
print(insert_sort(lst))

删除字符

str="sajdosdajidsaiojdasjaaascsovsvnosfnei"
sub="abc"
ans=""
for i in str:
    if i in sub:
        ans+=i
print(ans)

目标移动

保持其他序列顺序的同时将目标值移动到最前面

nums=[1,1,2,3,4,5,1,2,4,6,8,7,9]
print(nums)
target=int(input())
def func(nums,target):
    ans=[]
    count=0
    for i in nums:
        if i != target:
            ans.append(i)
            count+=1
    nums2=[target for i in range(len(nums)-count)]
    nums2.extend(ans)
    return nums2
print(func(nums,target))

尾部的0

n的阶乘尾部0的个数,取决于n的阶乘中10的个数,而10=2*5,有5一定会出现2,即取决于5的个数

n=int(input())
def search(n):
    count=0
    for i in range(5,n+1,5):
        while i%5==0:
            i//=5
            count+=1
    return count
print(search(n))


http://www.kler.cn/a/594175.html

相关文章:

  • 如何通过 SQLyog 连接远程 MySQL 数据库?(附工具下载)
  • pdf文件分页按需查看
  • 【VolView】纯前端实现CT三维重建-CBCT
  • 数据结构-----队列
  • LM Studio、ollama本地部署运行多个AI
  • 玩转物联网-4G模块如何快速将数据上传到巴法云(TCP篇)
  • Java解析多层嵌套JSON数组并将数据存入数据库示例
  • 软考中级-软件设计师 准备
  • 【redis】AOF 的基本工作机制,顺序写入,文件同步,重写机制
  • JAVA URL和URI差异对比
  • 星型组网和路由器组网的区别
  • UMA架构下的GPU 显存
  • CSS 用于图片的样式属性
  • 基于微信小程序的充电桩管理系统
  • vector和list的区别是什么
  • OpenCV第1课OpenCV 介绍及其树莓派下环境的搭建
  • 如何用日事清做研发目标、需求、规划、迭代、Bug、效能、复盘、绩效一站式管理
  • 前后端联调解决跨域问题的方案
  • 基于springboot的房产销售系统(016)
  • Linux 一步部署DHCP服务