从所有子集中恢复原始数组

2023-12-01

给定一个数组的所有子集和。然后,您应该从提供的子集和中恢复原始数组。

原始数组中的每个元素都保证为非负且小于 10^5。原始数组中的元素不超过 20 个。原数组也已排序。保证输入有效。

实施例1

如果提供的子集总和是这样的:

0 1 5 6 6 7 11 12

我们可以快速推断出原始数组的大小为 3,因为有 8 (2^3) 个子集。上述输入的输出(即原始数组)是这样的:

1 5 6

实施例2

Input:

0 1 1 2 8 9 9 10

Output:

1 1 8

我尝试过的

由于所有元素都保证为非负数,因此输入中的最大整数必须是数组的总和。但是,我不确定如何从那里继续。按照逻辑,我认为下一个 (2^2 - 1) 最大子集总和必须包括数组中除一个元素之外的所有元素。

但是,当原始数组是这样时,上述逻辑不起作用:

1 1 8

这就是为什么我陷入困境并且不确定如何继续。


假设 S 是子集和数组,A 是原始数组。我假设 S 已排序。

|A| = log2(|S|)
S[0] = 0
S[1] = A[0]
S[2] = A[1]
S[3] = EITHER A[2] OR A[0] + A[1].

一般来说,i >= 3 的 S[i] 要么是 A 的一个元素,要么是您已经遇到的 A 元素的组合。处理 S 时,对生成给定数字的 A 的已知元素的每个组合跳过一次,将任何剩余数字添加到 A。当 A 达到正确的大小时停止。

例如,如果 A=[1,2,7,8,9],则 S 将包括 [1,2,1+2=3,...,1+8=9, 2+7=9,9,。 ..]。在处理 S 时,由于 1+8 和 2+7,我们跳过了两个 9,然后看到第三个 9,我们知道它一定属于 A。

例如,如果 S=[0,1,1,2,8,9,9,10] 那么我们知道 A 有 3 个元素,A 的前 2 个元素是 [1,1],当我们达到 2 时,我们跳过它,因为 1+1=2,我们追加 8,我们就完成了,因为我们有 3 个元素。

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

从所有子集中恢复原始数组 的相关文章

  • 在java中使用BUBBLE SORT对二维字符串数组进行排序

    类似的问题已经被问过 但从来没有关于二维字符串数组 因此在尝试了很长时间之后我找不到我想要的 我正在尝试使用 BubbleSort 对 java 中的 2D 字符串数组进行排序 作为输入 我收到一个二维字符串数组 一个表 以及您应该排序的
  • 以 O(1) 计算汉明权重 [重复]

    这个问题在这里已经有答案了 在二进制表示中 汉明权重是 1 的数量 我偶然发现了网络并找到了一个 O 1 的答案 v v v gt gt 1 0x55555555 v v 0x33333333 v gt gt 2 0x33333333 in
  • 将 NumPy 数组按元素映射到更多维度的数组

    我想要地图anumpy array从 NxM 到 NxMx3 其中三个元素的向量是原始条目的函数 lambda x f1 x f2 x f3 x 然而 像这样的事情numpy vectorize不允许改变尺寸 当然 我可以创建一个零数组并进
  • JSON-LD 构建单个对象数组

    有没有办法将单个对象强制放入数组 每次都测试对象类型真的很烦人 我尝试了这个上下文 但它不起作用 还有JSON LD Playground 中的示例 http tinyurl com ph7p35v 通过此上下文 资源将转换为单个对象 而不
  • 重新排列数组键 php [重复]

    这个问题在这里已经有答案了 我有这个数组 Array 15 gt 13 1 16 gt Mark one answer 19 gt You see a car on the hard shoulder of a motorway with
  • Minizinc:生成有效的转变

    希望有人能帮助我解决这个问题 最初的问题是生成有效的班次 如下所述 我有这样的数组 m m m o o l l m m m l m m m 具有固定长度 S 其中 m 是工作 o 是办公室 我自由了 我需要确保至少每 6m 就有两个 l 在
  • n 或 nlog(n) 比常数时间或对数时间更好吗?

    在 Coursera 上的普林斯顿教程中 讲师解释了遇到的常见增长顺序函数 他说 线性和线性算术运行时间是 我们努力的目标 他的推理是 随着输入大小的增加 运行时间也会增加 我认为这是他犯了错误的地方 因为我之前听过他提到线性增长顺序对于高
  • 尝试使用 Javascript 解决对称差异

    我正在尝试找出对称的解决方案 使用 javascript 完成以下任务的差异 目标 接受未指定数量的数组作为参数 保留数组中数字的原始顺序 不删除单个数组中数字的重复项 删除数组中出现的重复项 因此 例如 如果输入是 1 1 2 6 2 3
  • JS:连接数组的数组

    我如何在数组的每个子成员和数组本身上使用 Array Join 来分隔父数组的元素 以及子数组的每个元素 let arr 1 2 3 4 5 6 console log arr join Output is 1 2 3 4 5 6 Pseu
  • 使用 Java 进行 MongoDB 查询。计算数组中的匹配项

    我在 Mongo 中存储了类似于以下内容的数据 LIST NAME a VALUE z NAME b VALUE y NAME c VALUE x NAME d VALUE w NAME e VALUE v NAME f VALUE u N
  • 照片马赛克算法。如何在给定基本图像和瓷砖列表的情况下创建马赛克照片?

    Hy 我要做的是创建一个程序 使用 C 或 C 它将 24 位 像素位图和图像集合作为输入 我必须创建一个马赛克图像 类似于使用库的输入图像给定的图像 创建与输入类似的马赛克照片 到目前为止 我可以访问输入的图像像素及其颜色 但我有点卡住了
  • 有没有时间复杂度为O(N)的排序算法?

    大多数排序算法的复杂度为 O NN 或 O NlogN 来实现结果 但是 对于特定的输入集 有些算法的复杂度为 O N 我想知道是否有一种排序算法在所有情况下都具有 O N 的复杂度 如果您只能比较 检查两个项目是否为 正在排序的值 那么您
  • 如何循环结构体数组并显示所有键值

    我正在循环结构数组并尝试分配和存储所有键值 如果我将内循环包裹起来
  • Pygame - 使用 SurfArray 将某种颜色的像素重新着色为另一种颜色(数组切片问题)

    我正在尝试为游戏制作调色板交换功能 并且正在尝试找到一种将某种颜色的像素颜色更改为另一种颜色的方法 我已经能够使用我在教程中找到的这个函数使所有像素具有相同的颜色 def color surface self surface red gre
  • 将数组字段组合成单个数组字段 mongo

    我正在使用 mongo 版本 3 4 3 我的文档存储在 mongo 中 如下所示 id ObjectId 5ad5ab8aaf2808b739ba6ab2 ResumeId 105839064 ResumeDetails WorkProf
  • 如何循环遍历对象数组并生成键值对?

    我有一个像这样的对象数组 let someObj items id 12 value true id 34 value true id 56 value false 我想将其添加到现有对象中 其中 id 是该对象的键 如下所示 let ob
  • 为什么这个二维指针表示法有效,而另一个则无效[重复]

    这个问题在这里已经有答案了 这里我编写了一段代码来打印 3x3 矩阵的对角线值之和 这里我必须将矩阵传递给函数 矩阵被传递给指针数组 代码可以工作 但问题是我必须编写参数的方式如下 int mat 3 以下导致程序崩溃 int mat 3
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex
  • 如何计算排列? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个关于 Java 排列的问题 Suppose I have five different elements in an arra
  • 在 Go 中,如何将结构体转换为字节数组?

    我有一个我定义的结构实例 我想将其转换为字节数组 我尝试了 byte my struct 但这不起作用 另外 我还被指出二进制包 http golang org pkg encoding binary 但我不确定我应该使用哪个函数以及应该如

随机推荐

  • 在 jupyter 笔记本中保留 pandas 数据框显示的额外空白

    在 jupyter Notebook 中 数据框中多余的空格被删除 但有时这不是首选 例如 df pd DataFrame A a b c B 1 2 df 我得到的结果 A B 0 a b 1 1 c 2 但我想要 A B 0 a b 1
  • 显然缺少 getline() 的重载,在 GCC 4.7.2 和 Clang 3.2 中将 RRef 传输到流

    我在尝试使用时遇到了意外的编译错误getline 使用临时流对象 include
  • mysqli 中的输出 Inserted.row

    我有以下sql表 ID 电子邮件 fbid 当我执行查询时 INSERT INTO users email fbid VALUES randomvalue otherrandomvalue 我想获取插入行的 id 为此 我尝试像这样编辑查询
  • NodeJS:智能 JSON 转换为 Excel 文件

    我正在使用 NodeJS 我想将 JSON 格式的对象导出到 Excel 文件 我很清楚有 至少 三个 npm 包用于此目的 但到目前为止 这些包都没有给我我梦想的输出 这是我的 javascript 对象 var myObject has
  • System.Text.Json.JsonSerializer.Deserialize() 的 .net 5.0 签名更改

    我正在尝试从 NET Core 3 1 到 NET 5 0 并在使用时收到一堆可空性警告Deserialize
  • java中从HTML中删除css信息

    是否有任何库或预先编写的代码可以从 HTML 代码中删除 css 属性 要求是 Java 代码必须解析输入的 html 文档 并删除 css 属性并生成输出 html 文档 例如 如果输入 html 文档具有此元素 p class abc
  • CasperJS/PhantomJS .then 在 do/while 循环中不起作用

    像这样的事情对我来说似乎很合乎逻辑 但导致幻像 wtfcrash 这就是它在日志中的名称 但没有提供有用的信息 do casper then function var targetFound false links this evaluat
  • Java 反射:创建一个实现类

    Class someInterface Class fromName some package SomeInterface 我现在如何创建一个新类来实现someInterface 我需要创建一个新类 并将其传递给需要的函数SomeInter
  • 如何在 android 中的 EditText 上显示数字键盘?

    我基本上只是想在某个 EditText 获得焦点后立即切换到数字键盘模式 您可以配置一个inputType为您EditText
  • 从另一个类方法更新 UI - Cocoa

    我想从 AppDelegate 更新应用程序中的 UI 但每当我这样调用它时 Controller object Controller alloc init object methodHere 好像没有更新UI 我在这里做错了什么 我已经放
  • 如何在flutter图表中显示json数据

    我对 flutter 还很陌生 我一直在尝试在条形图中显示来自 http 请求的一些数据 我找不到任何这方面的例子 我希望你们中的一些人能够提供帮助 我想用这个Chart来自在线画廊 我刚刚更改了我的应用程序的类名称 import pack
  • Sitecore 站点/项目发布在初始化时挂起

    我们的核心数据库出现问题 该数据库已由前一天的备份数据库恢复 之后 该网站工作正常 但我们在发布任何更改时遇到问题 一旦点击发布按钮 发布正在初始化 消息就会持续很长时间 截至 发布开始 结束 的事件日志中也未捕获到这一点 因此 当我们尝试
  • 如何重新启用 event.preventDefault?

    我有一个网页 已阻止所有提交按钮上的默认操作 但是我想重新启用按钮上的默认提交操作 我该如何执行此操作 我目前正在使用以下方法阻止默认操作 form bind submit function e e preventDefault 我已经使用
  • Android SwitchCompat风格

    我在我的新设备上使用 Android 5 1 1 测试了我的应用程序 在我的 SettingsActivity 中我有一个开关 我已经阅读了一些帖子并将其更改为android support v7 widget SwitchCompat但问
  • C中父进程向子进程发送信号

    我的子进程无法开始工作 我需要传递信号并执行readUsual功能 这是一小段代码 int main pid t pid2 fork if pid2 lt 0 printf Can t create child process n else
  • Julia 变量范围

    我试图在 while 循环中使用一些全局变量 m n r 但 Julia 1 0 0 告诉我这些变量未定义 该代码适用于 julia 0 7 0 但有一些警告 这是我正在使用的代码 是的 写得不好 我希望这不是问题 我删除了一个printl
  • Zend 框架和 Wordpress 集成

    这是我的问题 我有 require once application bootstrap php 在我的 zf 网站根文件夹中的 index php 中 我将 WordPress 博客放入 public html blog 中 我需要将 W
  • 在 Java Applet 中单击后 JButton“保持按下状态”

    我的 Java Applet 中有一个 JButton 按下按钮后 ActionListener 必须执行大量操作 因此 正因为如此 当用户单击按钮时 它会 保持按下 一段时间 有时甚至 5 分钟 而不是立即禁用自身 它会在这 5 分钟后自
  • 谷歌云存储访问的公共URL被拒绝

    我有这个 URL 但访问被拒绝 需要任何权限 https storage googleapis com BUCKET Artboard 4 png 出现此错误 匿名调用者没有 storage objects get 访问 Google Cl
  • 从所有子集中恢复原始数组

    给定一个数组的所有子集和 然后 您应该从提供的子集和中恢复原始数组 原始数组中的每个元素都保证为非负且小于 10 5 原始数组中的元素不超过 20 个 原数组也已排序 保证输入有效 实施例1 如果提供的子集总和是这样的 0 1 5 6 6