前段时间面试,有一家公司要给一个题的解法,自己也在网上找找了类似的题目,其核心思想可以参考LeetCode中的767重构字符串,我就不在这里做过多的介绍了。链接如下:

重构字符串

题目描述:

小明有一些气球想挂在墙上装饰 他希望相同颜色的气球不要挂在一起 写一个算法帮他得出一种可行的挂气球方式 自行定义函数 输入和返回 如果无法做到相同颜色的气球不挂在一起 请定义合适的异常方式返回

class BalloonArrangement(object):

"""气球排列"""

@staticmethod

def cal_ret(data: dict):

'''

计算出一种可行的挂气球方式

:param data:

:return:

'''

bal_count = sum([i for i in data.values()]) # 气球总数

# 气球颜色最多的数量

max_count = sorted(data.items(), key=lambda v: v[1], reverse=True)[0][1]

res = []

if max_count > (bal_count + 1) // 2:

# 无法做到相同颜色的气球不挂在一起

return ''

for k, count in data.items():

res.extend(k * count)

ans = [None] * bal_count

ans[::2], ans[1::2] = res[bal_count//2:], res[:bal_count//2]

return "-".join(ans)

data = {

'r': 3, # 红色气球3个

'b': 2, # 蓝色2个

'w': 1, # 白色1个

}

b = BalloonArrangement.cal_ret(data)

print(b) # b-r-b-r-w-r --> 蓝红蓝红白红

python入门很简单+python编程到书

115.8元

(需用券)

去购买 >

python turtle画气球-气球排列相关推荐

  1. python turtle画熊-Python turtle画图库画姓名实例

    *****看一下我定义的change()和run()函数****** 绘图坐标体系: 作用:设置主窗体的大小和位置 ? 1 turtle.setup(width, height, startx, st ...

  2. python turtle画椭圆-【python turtle如何画椭圆】

    python turtle画4个同心圆方法 from turtle import * def Circle(radius,angle,length): for i in range(length): ...

  3. 如何用python画一个心形图_求问怎样用python/python turtle画“心”

    展开全部 python turtle画52614个同心圆方法 import turtle #draw first circle turtle.penup() turtle.goto(0,-200) t ...

  4. python turtle画房子详细解释_[宜配屋]听图阁

    我就废话不多说了,直接上代码吧! import turtle t=turtle.Turtle() turtle.Turtle().screen.delay(0) tleft=turtle.Turtle ...

  5. python创意turtle作品大白-Python turtle 画个大白

    今天用Python Turtle画个大白吧.效果图如下: Python画大白def bai(): #tracer(False) speed(0) pensize(5) color('black','w ...

  6. 利用python的turtle库绘制玫瑰的步骤_用python turtle画玫瑰

    1.turtle 库 2.画玫瑰的代码: import turtle turtle.penup() turtle.left() turtle.fd() turtle.pendown() turtle. ...

  7. qpython3手机版turtle_使用Python turtle画一片树林

    原标题:使用Python turtle画一片树林 使用Python Turtle绘制一片树林代码 这段代码结合了随机函数来使树林更多样化,同时设置了颜色的渐变.几乎每句都有注释,还有不懂的函数可以到官 ...

  8. Python turtle 画正多边形和多角形

    Python turtle 画正多边形和多角形 作正多边形 作正多角形 计算内角 画图代码 作棱角分明的多角形 观察棱角分明的多角形 简洁的结论 代码 代码存在的问题 高斯与正十七边形 作出正十七角形 ...

  9. python用turtle画月亮_使用python turtle画高达

    今天小编就为大家分享一篇使用python turtle画高达,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 我就废话不多说了,直接上代码吧! import turtle t=turt ...

  10. 少儿学编程系列---使用python turtle画汽车

    少儿学编程系列---使用python turtle画汽车 原创cloudcoder2021-02-13 13:16:03 turtle简介 Turtle库是Python语言中一个很流行的绘制图像的函数 ...

最新文章

  1. 希尔排序法对一维数组排序
  2. linux 自动化交互套件 expect 介绍 shell非交互
  3. SAP MM模块相关透明表收集
  4. yii2数组转为对象_好程序员Java学习路线分享java为什么不支持泛型数组
  5. 最全、最详细的配置jdk十步法!
  6. JDBC连接数据库(一)
  7. C语言fread函数了解
  8. Visual Studio 2010旗舰版正式版序列号 - civilman的专栏 - 博客频道 - CSDN.NET
  9. CentOS7 搭建Ambari-Server,安装Hadoop集群(一)
  10. 微信团队分享:iOS版微信的高性能通用key-value组件技术实践
  11. Web前端开发工程师到底是干什么的?
  12. 多媒体网络计算机室标准,10校园网、计算机教室、多媒体教室建设标准试行.docx...
  13. 妙用Vista光盘轻松制作Windows PE 2.0启动光盘/闪存
  14. idea英文翻译插件Translation
  15. [BZOJ4556][Tjoi2016Heoi2016]字符串(二分+后缀数组+主席树)
  16. 测试场景设计-登录设计
  17. css 拉伸 resize —— 实现可拉伸的div(含限制拉伸的尺寸)
  18. 鼠标光标一直在闪烁_多模式、多设备连接---雷柏MT 750S 三模无线激光鼠标评测...
  19. 如何恢复计算机我的电脑工具栏,我的电脑工具栏不见了,怎样恢復
  20. 互联网大厂的年终奖(华为分红400亿,腾讯每人发股票 )

热门文章

  1. 开通博客的第一篇随笔~
  2. webstorm 修改端口号
  3. mysql脚本mysql_safe解释、mysql.sock文件、mysql_install_db
  4. 基于tiny4412的Linux内核移植 -- eMMC驱动移植(六)
  5. 用C++/CLI搭建C++和C#之间的桥梁(一)—— 简介
  6. 简单的JSP登录程序
  7. 创业者必看:创业得出的10条血泪经验
  8. 有关sql server 2000的数据类型
  9. Java知识系统回顾整理01基础01第一个程序01JDK 安装
  10. 关于 use-default-filters 属性的说明