将项目重新排列到数组中,彼此之间没有相似的项目

2023-11-30

假设我有一个块的集合。 12 个是红色,8 个是蓝色,5 个是黄色,1 个是绿色。我需要创建一个算法,将这些对象输出到单个数组中,没有红色块彼此相邻,没有蓝色块彼此相邻,等等。输出应如下所示:

红、蓝、红、蓝、红、蓝、黄、蓝、绿、红、黄等

到目前为止,在我的编程经验中,我多次遇到过必须编写算法来完成此操作的情况。我上次这样做是大约两年前,在一家初创公司工作。我用python实现了这样的算法,但是源代码不可用。我记得我至少花了 100 行来创作。

这个算法有名字吗?我不想再次实施它。


我不知道这个问题的名称。下面是我想出的解决这个问题的算法。

您需要跟踪剩余每个块的#。

repeat:
output 1 block of largest color set.
output 1 block from the second largest color set.

输出:

r br br br br br gr brgr brgr br br gr bg y

注意:在运行此算法之前,您需要检查最大颜色集的大小是否大于 1 + 其他颜色大小的总和。如果是的话,就没有解决办法了。

注意:不需要从第二大集合中挑选。循环中的第二个选择可以来自任何非最大颜色集。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将项目重新排列到数组中,彼此之间没有相似的项目 的相关文章

  • 我该如何解决? KnapSack - 值完全相同,但每个对象都有三个权重

    我在解决我的练习时遇到问题 我读到了动态规划和算法 我认为我的练习是 特定背包问题 我用暴力法解决了它 但我无法用动态规划解决它 我有一艘重300吨的船 背包 有些晶体本身含有 3 种物质 X Y Z 每种物质都有重量 并且所有晶体都具有相
  • 单词预测算法

    我确信有一篇关于此问题的帖子 但我找不到提出这个确切问题的帖子 考虑以下 我们有字典可供使用 我们收到了许多单词段落 我希望能够根据此输入预测句子中的下一个单词 假设我们有几个句子 例如 你好 我的名字是汤姆 他的名字是杰瑞 他去了没有水的
  • Java中获取集合的幂集

    的幂集为 1 2 3 is 2 3 2 3 1 2 1 3 1 2 3 1 假设我有一个Set在爪哇中 Set
  • 动态规划的复杂组合条件

    我正在探索动态规划设计方法如何与问题的底层组合属性相关 为此 我正在查看的规范实例硬币找零问题 Let S d 1 d 2 d m and n gt 0是请求的金额 我们可以用多少种方式相加n仅使用中的元素S 如果我们遵循一个动态规划如果要
  • 根据位置计算组合

    我在解决这个问题时遇到了麻烦 创建一个函数 给定字符集 C 可以生成第 N 个组合 或者返回给定起始位置 Ns 和结束位置 Ne 以及组合的最大长度 Mx 的一系列组合 一个具体的例子 令 C A B C 我们知道不同的组合将如下所示 假设
  • 具有 3 路划分的快速排序

    什么是三向分区快速排序 画一个数组 3 5 2 7 6 4 2 8 8 9 0 A 两分区快速排序会选择一个值 比如 4 并将每个大于 4 的元素放在数组的一侧 将每个小于 4 的元素放在另一侧 就像这样 3 2 0 2 4 8 7 8 9
  • 变量的多个值介于 0 和数字序言之间

    所以我一直在尝试自学序言 我认为我进展顺利 然而 我有点坚持我正在尝试的这一种方法 toN N A A 等于 0 到 N 1 之间的整数值 按升序生成 所以 toN 5 A 将是 A 0 A 1 A 2 A 3 A 4 我对序言还很陌生 所
  • 欧拉项目 #18 方法

    我正在研究一个欧拉项目 具体来说 18 总而言之 这个想法是从三角形中找到最大路径 3 7 4 2 4 6 8 5 9 3 3 7 4 9 23 读到这里 大多数人表示 通过从下到上工作可以正确解决这个问题 而不是使用从上到下 贪婪 工作的
  • 图中使用 K 个反向边的所有最短路径

    假设我有一个有向图 G V E 其边的权重为正整数 我需要做的是使用最多 K 整数 个反向边找到所有顶点之间的最短路径 我的意思是 如果我们在边 u 处 并且只有一条从 v 到 u 的有向边 只要我们没有在这条路径上使用 K 个反向边 我们
  • 归并排序究竟进行了多少次比较?

    我读到 在实践中 快速排序比合并排序快得多 其原因是隐藏常量 那么 随机快速排序复杂度的解是2nlnn 1 39nlogn 这意味着快速排序中的常数是1 39 但是合并排序呢 归并排序中的常数是什么 让我们看看能否解决这个问题 在合并排序中
  • 查找按降序排序的向量中严格小于某个键的第一个元素

    据我了解 可以使用 find if STL 算法函数来完成此任务 如下所示 long long int k k key scanf lld k auto it find if begin v end v k auto e return e
  • 良好的线性代数包[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在为一个项目实现一些谱图算法 其中很大一部分是查找大型稀疏矩阵以及乘法矩阵的特征值和特征向量 我的问
  • 在哪里可以找到产生无标头输出的无损压缩算法?

    你们中有人知道产生无标头输出的无损压缩算法吗 例如不存储用于压缩的哈夫曼树吗 我不是谈论硬编码的霍夫曼树 但我想知道是否有任何算法可以压缩和解压缩输入而不在其输出中存储一些元数据 或者这在理论上是不可能的吗 当然是可能的 其中 LZ 系列压
  • 平均值大于或等于 k ​​的最长连续子数组

    考虑一个包含 N 个整数的数组 找到最长的连续子数组 使其元素的平均值大于 或等于 给定数字 k 显而易见的答案具有 O n 2 复杂度 我们可以做得更好吗 我们可以通过在 O n 时间内从所有值中减去 k 将这个问题简化为 sum gt
  • 全部配对图表上的所有路径

    这可能是一个没有最佳解决方案的问题 假设我有一个有向图 不知道它是否有循环 循环检测将是这个问题的方面之一 给定一组顶点 可能是数百万个顶点 我需要计算给定图的所有唯一对之间的所有不同路径 没有重复顶点的路径 我该如何应对这种情况 让我们看
  • 二指针算法

    我想了解两指针算法方法 所以我一直在阅读本文 https tp iiita quora com The Two Pointer Algorithm 所以这是问题 假设我们有一个包含 N 个元素的数组 我们想要找到该数组中最大的连续元素序列
  • 数独生成器算法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我制作了一个生成数独的算法 但效率非常低 每个谜题都需要几分钟才能生成 所以现在我正在尝试以最佳方式重新编写它 但我遇到了一些问题 需
  • 根据先前日期进行预测:值数据

    我有一些类似时期的数据集 这是当时人们的介绍 时间大约有一年 数据并不是定期收集的 而是相当随机的 每年 15 30 个条目 来自 5 个不同的年份 The graph drawn from the data for each year l
  • 用于查找遍历图中所有顶点的路线的更好算法是什么?

    所以我有以下问题 给定 x x y 维度的网格 计算路线数 穿过它 从一个角开始 假设左上角 并结束于 另一个 右下 并穿过每个顶点 因此 我当前的方法只是通过尝试每条可能的路径并计算到达终点并遍历每个节点的路径来进行暴力破解 虽然它有效
  • 可被 N 整除的最小正数

    1 如何找到能被N整除的最小正数 并且它的各位数字和应该等于N 例如 N 结果 1 1 10 190 并且算法时间不应超过 2 秒 有什么想法 伪代码 pascal c 或 java 吗 设 f len sum mod 为 bool 这意味

随机推荐

  • 检测 Python 海龟游戏中的碰撞

    我正在尝试制作一个红海龟追逐蓝海龟的Python游戏 当红海龟抓住蓝海龟时 我希望它在屏幕上显示 碰撞 但它不起作用 当它碰撞时 什么也没有发生 它给我一个错误 Turtle 对象不可调用 from turtle import Turtle
  • 如何使用android.drm框架

    我正在开发一个基于 DRM 的 Android 应用程序 应用程序旨在在下载并获得对文件 音频 视频 的控制访问权限后对 音频 视频 文件进行加密 防止文件 音频 视频 复制和粘贴并使文档过期 从而无法再查看它们 为此我使用 android
  • ASP.NET 计时器事件

    protected void SubmitButtonClicked object sender EventArgs e System Timers Timer timer new System Timers Timer line 1 ge
  • JUnit 如何查找测试?

    我假设 JUnit 找到了测试 在派生自的类中 junit framework TestCase 通过寻找带有注释的方法 Test 但是 我已经包含了一个测试http 256stuff com sources jenkins hash ja
  • 如何根据列名称对数据框进行子集化?

    我有这个数据框 dput df structure list Server structure c 1L 1L 1L 1L 1L 1L Label servera class factor Date structure 1 6 Label
  • 创建位图图像 WPF

    我有一个包含需要在屏幕上显示的图像数据的 ushort 目前我正在创建一个 Windows System Drawing Bitmap 并将其转换为 BitmapImage 但这感觉像是一种缓慢而无效的方法 有人知道创建 ushort 的
  • facet_wrap 每个面板的轴相等

    我想用facet wrap每个面板的轴可能不同 但在一个面板内x and y轴应该具有相同的比例 例如看下面的图 df lt read table text x y g 1 5 a 2 6 a 3 7 a 4 8 a 5 9 b 6 10
  • Access - 比较两个表并更新或插入第一个表中的数据

    在我的 Access 数据库中 我有两个表 Table1 PersNum Name Surname 2321 Lenora Springer 2320 Donya Gugino 3326 Leland Wittmer 4588 Elmer
  • 如何使用QML/QtLocation模块在地图上显示大量离线数据?

    我正在使用 QML 及其新的 QtLocation 模块 gt Qt5 4 创建离线 Slippy Map 我很容易地用离线缓存来显示图块 现在我想向此地图添加自定义数据 约 7000 个机场的列表 这个巨大的列表必须根据缩放级别进行聚类
  • 当控制器实例化 Web API DI 中接口的正确实现时,“魔法”发生在哪里?

    在我看来 当涉及到 Web API 控制器中的 DI 时 就像是从帽子里变出兔子一样 我明白了 0 Web API项目中的Controller可以通过各种需要实例化的类来调用 所有的类都实现了Controller所依赖的接口 例如 使用以下
  • 选中的复选框将在分页中保留

    我正在做一个 php 脚本 其中我需要记住选中的复选框并将其保存到所有数据库中 不幸的是 我的代码仅保存我选中复选框的当前页面 但另一个复选框未选中 示例 在第 1 页中 我检查了 3 个项目 在第二页上 我检查了项目 当我单击提交按钮时
  • 将地理坐标从度数转换为十进制

    我想将我的地理坐标从度数转换为小数 我的数据如下 lat long 105252 30 25 264 9 01 331 105253 30 39 237 8 10 811 105255 31 37 760 8 06 040 105258 3
  • Ruby gets() 未返回正确的字符串[重复]

    这个问题在这里已经有答案了 在听到 Ruby 的所有优点后 我今天决定尝试一下 Ruby 但到目前为止 它只是给我带来了困难 很久以前 我在学习 Python 时制作了一个 搜索引擎 它只是将数据存储在数组中并检查搜索关键字是否在其中 并且
  • Flask App:函数运行时更新进度条

    我正在 Flask 中构建一个相当简单的 Web 应用程序 它通过网站的 API 执行功能 我的用户使用他们的帐户 URL 和 API 令牌填写表单 当他们提交表单时 我有一个 python 脚本 可以通过 API 从他们的帐户导出 PDF
  • 在数组中的每个元素之间使用 MATLAB linspace

    使用 MATLAB 我想在数组中的每个点之间进行线性插值 Using interpolate将以非线性方式完成 我想做的类似于生成低通滤波器系数 我已经想出了一个解决方案 但我想避免使用for loops a 0 0 1 0 0 Input
  • 身份验证后,flask-login 会随机使会话失效

    我正在使用烧瓶登录https flask login readthedocs io en latest用于会话管理 用户首先登录 login html 应用程序并转到 home html 但是 当用户通过身份验证并单击不同的链接后 它将踢出
  • 如何在字符串数组中搜索字符串

    在其他帖子中寻找答案后 我觉得我必须问这个问题 我在看JavaScript 中如何检查数组是否包含对象 and 查找某个项目是否在 JavaScript 数组中的最佳方法 并且无法让代码在那里工作 我正在将 html 嵌入代码捕获到数组中
  • WPF 控件嵌套属性数据绑定

    我正在尝试使用一些嵌套属性来开发用户控件 这些属性允许使用数据绑定来设置它 例如 我有这样的事情 Top level control public class MyControl Control public string TopLevel
  • Cocoa Touch 中的代表与事件

    我正在编写我的第一个 iPhone 应用程序 并且一直在探索 Cocoa Touch 和 Objective C 中的设计模式 我有客户端 Web 开发背景 因此我正在努力了解代表 具体来说 我不明白为什么需要委托对象而不是事件处理程序 例
  • 将项目重新排列到数组中,彼此之间没有相似的项目

    假设我有一个块的集合 12 个是红色 8 个是蓝色 5 个是黄色 1 个是绿色 我需要创建一个算法 将这些对象输出到单个数组中 没有红色块彼此相邻 没有蓝色块彼此相邻 等等 输出应如下所示 红 蓝 红 蓝 红 蓝 黄 蓝 绿 红 黄等 到目