python高级练习题:取消列表(比简单更难)【难度:4级】:

Unflatten list(比简单更难)

这是较难的版本 Unflatten a list(Easy)

所以你再次构建一个方法,创建可以展平的新数组!

Shorter:你必须取消列表/数组.

你得到一个整数数组,并且必须通过这些规则解除它们:

- 你必须做几次跑步.深度是您必须要做的运行次数.- 每次跑步都要改变方向.首先从左边开始,然后从右边开始.下左...
每次运行都有这些规则:- 从第一个数字开始(从方向开始).- 取除每个数字x除法除以剩余可用元素的数量(来自这个职位!)有下一个决定的号码.- 如果余数值小于3,则直接取这个数字x(不是余数值)对于新数组矩阵并继续下一个数字.- 如果余数值(例如3)大于2,则取下一个余数值(例如3)元素/数字(包括数字x,而不是余数值)作为新数组中的子数组.继续使用下一个数字/元素后取这些元素/数字.- 数组中的每个子数组都是独立的,并且只是数组进度的一个元素.对于每个子数组矩阵,您必须遵循相同的规则来解除它.方向始终与实际运行方向相同.

听起来很复杂?是的,这就是为什么,这是更难的版本…
也许一个例子会有所帮助.

数组:[4,5,1,7,1]深度:2  - > [[4,[5,1,7]],1]脚步:
首先:(从左侧开始!)
1.第一个数字是4.数字小于剩余元素的数量,因此它是余数值(4/5  - >余数4).因此,在新数组中添加4个数字(4,5,1,7)作为子数组.
2.下一个数字是1.它小于3,因此1直接添加到新数组.
现在我们有 - > [[4,5,1,7],1]第二轮:(从右侧开始!)
1.最后一个数字(首先来自另一侧)是1.因此1直接添加到新数组.
2.下一个元素是子数组.所以我们使用这个规则.
2a.最后一个数字是7.数组中有4个元素.因此,您必须做出下一个决定取7/4  - > 3的余数.所以3个数字(5,1,7)被添加为子数组新数组矩阵.
2b.现在这个数组中只有4个且只有一个元素. 4/1  - >余数0.它更小因此,4直接添加到新数组矩阵.
现在我们有 - > [[4,[5,1,7]],1]

给定的数组将始终包含数字.只有数字> 0.

有乐趣编码,请不要忘记投票和排名这个卡塔! ?

我创造了其他的katas.如果您喜欢编码和挑战,请查看.

编程目标:

def unflatten(flat_array, depth):pass #your code here

测试样例:

Test.describe('Basic Tests')
Test.assert_equals(unflatten([ 4, 5, 1, 7, 1 ], 2), [ [ 4, [ 5, 1,  ] ], 1 ])
Test.assert_equals(unflatten([ 12, 1, 5, 3, 1, 55, 2, 3, 7, 8, 1 ], ), [ 12,1, [ 5, [ 3, 1, 55 ], 2], [ 3, 7, 8 ], 1])

最佳答案(多种解法):

点击查看答案

更多关联题目:

Python进阶练习题:数值回文#2【难度:2级】–景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
单词搜索网格【难度:3级】–景越Python编程训练之挑战1000道Python面试题(含答案)
Python基础练习题:数组中的每个值都是数组吗?【难度:1级】–景越Python编程实例训练营,Python自学,Python进阶必备良品
Python进阶练习题:水钻牛仔~计算他的靴子里的美元!【难度:2级】–景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

免责申明:

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/

python高级练习题:取消列表(比简单更难)【难度:4级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶相关推荐

  1. python高级练习题:多米诺平铺 - 5×2N局【难度:4级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python高级练习题:多米诺平铺 - 5×2N局[难度:4级]: 请还检查了在[多米诺拼接系列]其他练习题(https://www.codewars.com/collections/5d19554d ...

  2. python基础练习题:简单有趣#32:创建字谜【难度:1级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python基础练习题:简单有趣#32:创建字谜[难度:1级]: 任务 现在给你两个字符串S和长度相同的T,由大写英文字母.你的任务是找到获得一些anagram的串T从字符串s需要"更换操作 ...

  3. python进阶练习题:简单有趣#301:跳绳游戏【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python进阶练习题:简单有趣#301:跳绳游戏[难度:2级]: 任务 有些孩子在玩跳绳游戏.儿童跳过绳子在大致相同的速度:每一次秒'.如果孩子跳时失败,他需要整理一下绳子,然后继续.这将需要3 s ...

  4. Python基础练习题:杂乱无章的页面列表【难度:1级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    Python基础练习题:杂乱无章的页面列表[难度:1级]: 你得到了一本古老的书,不幸的是有几页错误的位置,幸运的是你的计算机有一个从"1"到"n"的顺序的每个 ...

  5. python进阶练习题:格式化像“巴特,莉萨和玛吉”名称的字符串。【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python进阶练习题:格式化像"巴特,莉萨和玛吉"名称的字符串.[难度:2级]: 给定:含名称的散列数组 返回:格式化为除了最后两个名字,应该由一个符号分隔用逗号分隔的名称列表的 ...

  6. python基础练习题:棋盘【难度:1级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python基础练习题:棋盘[难度:1级]: 编写打印N行M列下列规则棋盘的程序: 左上角单元格必须是一个星号(*) 任何细胞接触(左,右,上,下)有星号的小区必须是一个点(.) 任何细胞接触(左,右 ...

  7. python进阶练习题:馏分类【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python进阶练习题:馏分类[难度:2级]: 为您提供了类"分数",这两个参数(分子,分母)的骨架. 例: fraction1 =分数(4,5) 分数fraction1 =新分数 ...

  8. python基础练习题:Covfefe【难度:1级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python基础练习题:Covfefe[难度:1级]: Covfefe 你给出的字符串.你必须用'covfefe但替换的单词(S)coverage,如果你没有找到字符串中的单词'coverage,你必 ...

  9. python进阶练习题:自圣诞树III:叶中心【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python进阶练习题:自圣诞树III:叶中心[难度:2级]: 任务 圣诞节快到了.在[以前的习题(https://www.codewars.com/kata/5a405ba4e1ce0e1d7800 ...

  10. python进阶练习题:婴儿喜鹊【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python进阶练习题:婴儿喜鹊[难度:2级]: 喜鹊是我最喜欢的鸟 婴儿的人更是这样- 这是一个鲜为人知的事实^宝宝喜鹊的黑白颜色相差** 至少** 一个地方** 最多** 从母亲喜鹊的颜色两个地方 ...

最新文章

  1. a different object with the same identifier value was already associated with the session:
  2. collections模块简介
  3. 让你提升命令行效率的 Bash 快捷键 [完整版]
  4. 李宏毅机器学习(八)ELMo、BERT、GPT、XLNet、MASS、BART、UniLM、ELECTRA、others
  5. iCloud 是什么
  6. 计算机二级考试能报考的科目,计算机二级考试有哪些科目可以选择报考?
  7. bzoj 1704: [Usaco2007 Mar]Face The Right Way 自动转身机
  8. java 构造函数的执行顺序
  9. 怎么判断间隙过渡过盈配合_什么是间隙配合、过盈配合、过渡配合?它们在汽车上有哪些应用?...
  10. 粉红噪音测试软件,煲耳机方法二:粉红噪音
  11. labview的初步
  12. Vue element table按钮实现当行expand详情(右箭头)
  13. 数组的reduce的妙用之处
  14. dedecms织梦搬家数据库导入失败怎么办?
  15. Android 安卓动画 属性动画 - 缩放动画
  16. JAVA JDK1.8超详细安装教程
  17. Edge浏览器清除当前网站的cookies
  18. CListCtrl控件使用
  19. MFC openGL立方体
  20. 天下手游一直显示连接服务器,网易天下手游闪退、进不去、黑屏不能玩的原因和解决办法[图]...

热门文章

  1. ecshop微信登录php代码,Ecshop实现微信第三方授权扫码登录
  2. CSDN-怎么设置被粉丝关注之后的自动回复
  3. android连接wifi不能上网,手机已经连接wifi但无法上网的详细解决方法
  4. Unity VR成像原理
  5. android 如何把图片设置成圆,Android 设置圆形图片 设置圆角图片
  6. 用中信证券示范大作手回忆录
  7. TFN系列超声波探伤仪为什么在众多品牌竞争中脱颖而出
  8. C语言实现可视化,运用EasyX实现拼图+文字解谜+迷宫+猜数游戏
  9. 用java做出长方体的表面积_Android Studio实现长方体表面积计算器
  10. app逆向案例分析-极速抖音