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

Python 编程题 第十节:重复数字、相邻字符去重、2的幂、最长公共子串、冒泡排序

重复数字

返回任一重复数字

lst=list(input())
res=0
for i in range(len(lst)):
    if lst[i] in lst[i+1:len(lst)]:
        res=int(lst[i])
    break
print(res)

相邻字符去重(消消乐)

str=input()
res=''
for i in str:
    if res=="":
        res+=i
    elif res[-1]!=i:
        res+=i
    else:
        res=res[:-1]

print(res)

2的幂

位运算,与运算,都为1则为1,很巧妙的方法

print(bin(4),bin(8),bin(16),bin(3),bin(7),bin(15))
#如果作与运算,2的幂和2的幂-1,结果为0
n=int(input())
def func(n):
    if n>0 and n&(n-1)==0:
        return True
    else:
        return False
print(func(n))

最长公共子串

滑动窗口

str1=input()
str2=input()
def lcs(str1,str2):
    left=0
    res=""
    for i in range(len(str1)+1):
        if str1[left:i+1] in str2:
            res=str1[left:i+1]
        else:
            left+=1
    return res
print(lcs(str1,str2))

冒泡排序

两层循环,大的就往后面放

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

相关文章:

  • 【2025年3月最新】Cities_Skylines:城市天际线1全DLC解锁下载与教程
  • vue中父组件与子组件的created方法执行顺序
  • Linux内核实时机制28 - RT调度器11 - RT 组调度
  • C# PaddleOCR字符识别
  • Git 使用指南
  • OSPF-5 3类LSA SummaryLSA
  • MySQL---DDL(3.17)
  • 【工作记录】F12查看接口信息及postman中使用
  • 【鸿蒙开发】Hi3861学习笔记- 定时器中断
  • 谷歌生态变革!Google Play宣布上线PC游戏平台
  • python中多重继承和泛型 作为模板让子类实现具体业务逻辑
  • MySQL 基础学习文档
  • 李宏毅NLP-1-课程介绍
  • Excel导出工具类--复杂的excel功能导出(使用自定义注解导出)
  • C++实现线程安全的队列
  • 【Spring】第二弹:通过反射机制初步理解 IoC
  • C++从入门到入土(八)——多态的原理
  • 【GIS】重要技术3DGS
  • 改变一生的思维模型【12】笛卡尔思维模型
  • 【嵌入式学习】计算机组成原理-二进制存储基础
  • 对话郑永年:我们谈判也是为世界争公义
  • 盖茨说对中国技术封锁起到反作用
  • 普京提议无条件重启俄乌谈判,外交部:我们支持一切致力于和平的努力
  • 历史地理学者成一农重回母校北京大学,担任历史系教授
  • 总没胃口,一吃就饱……别羡慕,也可能是生病了
  • 泽连斯基:乌克兰已做好与俄罗斯举行会谈的准备