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

209、不大于n的数的组合(python)

题目

已知一个数n和可组合的数字集合s,通过组合数字集合构成一个数x,使其不大于n。

例如:
n = 22356789
a = [2, 3, 4, 8, 9]

x = 22349999

代码实现

n = 22356789
a = [2, 3, 4, 8, 9]
a.sort()
s = str(n)
tag = True
res = []
for i in range(len(s)):
    cur = int(s[i])
    j = 0
    # 当没有找到停顿点时
    if tag:
        while j < len(a) and a[j] < cur:
            j += 1
        # 字典中有等于的数
        if a[j] == cur:
            res.append(a[j])
        # 字典中没有等于的数且比该数大,则为停顿点
        else:
            res.append(a[j - 1])
            tag = False
    # 已经找到停顿点,后续的都保持最大的值
    else:
        res.append(a[-1])

print(res)
http://www.dtcms.com/a/74200.html

相关文章:

  • Linux(8.4)NFS
  • 一、串行通信基础知识
  • Dufs 文件共享系统,内部文件共享还在用ftp\samba?
  • 100. 岛屿的最大面积
  • Linux安装MySQL5.7.26教程图解
  • 蓝桥杯好题推荐---二位前缀和
  • Flask多参数模版使用
  • AI:Machine Learning Data Science
  • 稳定运行的以PostgreSQL数据库为数据源和目标的ETL性能变差时提高性能方法和步骤
  • 图解AUTOSAR_CP_NetworkManagementInterface
  • 人工智能之数学基础:从线性变换理解矩阵范数和矩阵行列式
  • JavaScript 中的包装类型:概念、作用与使用场景
  • spring启动流程
  • 集成学习(上):Bagging集成方法
  • C# ManualResetEvent‌的高级用法
  • Pytorch学习笔记
  • 书摘 ASP.NET Core技术内幕与项目实战:基于DDD与前后端分离
  • 案例驱动的 IT 团队管理:创新与突破之路:第二章 团队组建:从人才画像到生态构建-2.2.1星型架构 vs 网状架构对比
  • 华为中小型企业项目案例
  • Three.js学习
  • 5分钟快速申请一个EDU教育邮箱
  • Python 编程题 第十节:重复数字、相邻字符去重、2的幂、最长公共子串、冒泡排序
  • 【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中使用