博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
某团春招笔试最后一题:数字字符最小无法表示问题
阅读量:6035 次
发布时间:2019-06-20

本文共 586 字,大约阅读时间需要 1 分钟。

题目描述,给定一数字字符串,最小无法表示的正整数是多少(字符串出现了几次最多就能使用几次,比如111223,1最多用3次,2最多2次,3最多1次)?

python实现如下:

def FIndMin(s):    lis = {i:0 for i in range(0, 10)} #统计数字出现次数    for i in s:        lis[int(i)] += 1    i  = m = 1    while i <= 9:        if lis[i] == 0: #缺数则肯定无法表示该数            return i        elif lis[i] < lis[m]: #顺便统计出现次数最少的数            m = i        i += 1    if lis[0] == 0: #不缺数则看是否缺0        return '10'    else: #若都不缺则不能表示出现最少的数乘其出现次数加1的结果        return str(m)*(lis[m]+1)s = input('Enter number string:')print(FIndMin(s))

测试案例:

1、

2、

3、

4、

 

转载于:https://www.cnblogs.com/SHQHDMR/p/8634213.html

你可能感兴趣的文章
Speak loudly
查看>>
10个完整的Android开源项目,值得大家学习借鉴
查看>>
JavaScript 内功心法——变量提升及函数提升
查看>>
吴颖二:12.19 年关将在翻仓已“迫不及待”你准备好了吗
查看>>
Android类似微信图片选择器
查看>>
【漫画】为什么说O(n)复杂度的基数排序没有快速排序快?
查看>>
以太坊智能合约开发第六篇:truffle开发框架
查看>>
C++17 并行排序初体验
查看>>
提交表单且不刷新页面
查看>>
Java入门 | 如何傻瓜式的安装JDK和配置环境变量?
查看>>
关于JS引擎优化的理解
查看>>
KVO本质的推导
查看>>
Linux下Python3.6的安装及避坑指南
查看>>
手把手教你安装Linux性能监控工具——pydash
查看>>
margin-top 外边距合并
查看>>
组件化页面:封装el-form
查看>>
LinkedList源码阅读分析
查看>>
iOS__上传应用到AppStore出现Authenticating with the iTunes store
查看>>
linux学习笔记四
查看>>
前端日刊君来也
查看>>