1023. 组个最小数 (20)-----Python
来源:互联网 发布:海马玩mac版怎么安装 编辑:程序博客网 时间:2024/06/10 15:27
本题的考虑点:
(1)列表中存储的是相应位置的个数,实际要储存的是所在的位置,因此使用flag来记录所处理数据的位置。
(2)考虑清楚第一个位置,也就是0的个数,我把0的个数单独拿出来分析的,使用pop将第一个数据从列表中删除,然后判断其是否为零,若不为零的话,单独考虑,因为其不为零,所以就是在剩下的列表中找到第一个非零的所在位置,把此数据所在的位置存储到结果数列中,然后再把数据减一。再接下来的执行就是常规的执行,剩余的数列,找到数列中的每一个非零数据,将数据所在位置按数据的个数存储到新的列表中,最后将列表转换为字符串输出即可。
(3)需要注意的就是要弄清楚原始列表中存储的仅是个数,真正应该存储到新列表的是数据所在的位置。可以说Python真的很好用。
def get_in():string = input()list = []for num in string.split():list.append(int(num))return listdef get_result(list):first_num = list.pop(0)sum_list = [] if first_num != 0:flag = 0while True:if list[flag] != 0:list[flag] -= 1breakelse:flag += 1sum_list.append(flag + 1)while first_num:sum_list.append(0)first_num -= 1flag = 1for num in list:if num != 0:while num:sum_list.append(flag)num -= 1flag += 1return sum_listmy_list = get_in()list = get_result(my_list)my_str = ''for num in list:my_str += str(num)print(my_str)
阅读全文
0 0
- 1023. 组个最小数 (20)-----Python
- 1023. 组个最小数 (20) python篇
- PAT 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- PAT 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 1023. 组个最小数 (20)
- 函数
- 数据库视频汇总
- 简单的Mybatis
- 【Java】关于Map解析List<Map<String, String>>的心得
- 1.if与switch 2.利用for嵌套--倒立三角3.循环与无限循环
- 1023. 组个最小数 (20)-----Python
- CentOS-7.2下配置邮件服务
- 547. Friend Circles
- 程序员国庆加班调查:你是放假,还是被加班了?(内附加班费算法,最少可拿1711元)
- Linux 与 Linux Windows 文件共享
- 每天学写redis命令(2)
- 趣图 | 实习生提出了一个新功能
- 浅析指针与const
- Bootstrap Typeahead 组件