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

Python 编程题 第十二节:柠檬水找零、统计数字、合并排序数组、插入5、字符串置换

柠檬水找零

贪心算法

bills=[5,5,10,5,20,10,20]
def zhaoling(bills):
    five=0
    ten=0
    for i in bills:
        if i==5:
            five+=1
        elif i==10:
            if five==0:
                return False
            else:
                five-=1
                ten+=1
        else:
            if five>0 and ten>0:#优先找零一个5元和一个10元
                five-=1
                ten-=1
            elif five>=3:
                five-=3
            else:
                return False
    return True
print(zhaoling(bills))

统计数字

字符串的.count()方法,统计字符出现次数

def tongji(k,n):
    count=0
    for i in range(0,n+1):
        time=str(i).count(str(k))
        count+=time
    return count
print(tongji(3,20))

合并排序数组

双指针

def sort(lst1,lst2):
    point1=0
    point2=0
    ans=[]
    while point1<len(lst1) and point2<len(lst2):
        if lst1[point1]<lst2[point2]:
            ans.append(lst1[point1])
            point1+=1
        else:
            ans.append(lst2[point2])
            point2+=1
    if point1==len(lst1):
        ans.extend(lst2[point2:])
    else:
        ans.extend(lst2[point1:])
    return ans
lst1=[1,2,4,8,9]
lst2=[3,4,5,7,10,11,12,12]
print(sort(lst1,lst2))

插入5

插入5使数字最大

def insert(num):
    s=str(num)
    if num>=0:
        ans = ""
        flag=False
        for i in s:
            if int(i)<5 and flag==False:
                ans+="5"
                flag=True
            ans+=i
    else:
        ans="-"
        flag=False
        for i in s[1:]:
            if int(i)>5 and flag==False:
                ans+="5"
                flag=True
            ans+=i
    return ans
print(insert(-734))

字符串置换

a="abcde"
b="cbdae"
def func(a,b):
    a=sorted(a)
    b=sorted(b)
    return a==b
print(func(a,b))


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

相关文章:

  • 尝试使用tauri2+Django+React的项目
  • 《南京日报》专题报道 | 耘瞳科技“工业之眼”加码“中国智造”
  • Floyd 算法——97. 小明逛公园
  • Umi-OCR- OCR 文字识别工具,支持截图、批量图片排版解析
  • 2025年渗透测试面试题总结- 某亭-安全研究员(题目+回答)
  • 【一起学Rust | Tauri2.0框架】基于 Rust 与 Tauri 2.0 框架实现全局状态管理
  • java每日精进 3.21 【SpringBoot规范2.0】
  • [AI速读]CHISEL vs. SystemVerilog:用RISC-V核心对比两种硬件设计语言
  • 网络故障排查指南:分治法与排除法结合的分层诊断手册
  • 快速上手pg_basebackup
  • MAC地址和IP地址是如何互相配合的?
  • 普通浏览器 vs. 防关联/指纹浏览器:有什么区别?
  • 批量删除 PPT 文档的删除页眉页脚
  • 华为网路设备学习-16 虚拟路由器冗余协议(VRRP)
  • 深入解析 Java Stream API:筛选根节点的优雅实现!!!
  • C++从入门到实战(六)类和对象(第二部分)C++成员对象及其实例化,对象大小与this详解
  • 腾讯位置服务点标记
  • 【jQuery】常用API
  • idea中ctrl + shift +f失效的问题
  • LeetCode热题100JS(59/100)第十一天|46|78|17|39|22