登录
首页 >  文章 >  python教程

代码的出现 &#- DayDisk Fragmenter (Python)

来源:dev.to

时间:2024-12-25 15:28:02 488浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习文章的朋友们,也希望在阅读本文《代码的出现 - DayDisk Fragmenter (Python)》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新文章相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

代码的出现

代码出现第 9 天:磁盘碎片

今天的解决方案只是用 Python 完成的,老实说,我发现很难找到时间用 Python 和 C# 编写以及撰写文章,所以选择继续使用其中之一。

第 1 部分

这相当简单,要求是将输入转换为 id 和空格,其中奇数索引是 id,偶数索引是空格 (.) 并重复 x 次,与输入中的数字相关,例如;

1234 =>

1 => 1x id --> 0
2 => 2x 空 --> ..
3 => 3x id --> 111
4 => 4x empy --> ....

总行=> 0..111....

然后我们被要求将最右边的元素移动到最左边的空白区域。

即移动 1 -> 第一个 (.),我们使用两个循环来执行此操作,一个从后面 -> 前面,另一个从前面 -> 后面。

当我们找到一个Id时,我们从前面移动到找到第一个空位,然后交换这些点,继续下去,直到右边的所有数字都移动到左边的空位。

只要右边的索引,总是比左边的索引大,或者中间没有相遇就一直走。

第2部分

现在,我们不只是找到最左边的空白空间,而是必须尝试找到一个最左边的空白空间,它可以容纳整个文件(id),例如,如果我们的 fileId 为 9999,我们需要 4空的空间在一起,如果它不会,我们将其移动到下一个空的空间。如果没有空格,我们将移动到下一个 fileId。

[剧透] -> 解决方案可以在 GitHub 找到

一如既往,您可以在 Twitter 上联系并关注

以上就是《代码的出现 - DayDisk Fragmenter (Python)》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>