- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个简单的加法数学游戏,并且想知道如何实现以下内容。
假设我有这个数组:
int[] numbers = { 9, 2, 1, 1, 2, 9 };
我希望用户在数组中的某个位置插入一个值,例如 2
,以便数组中的一堆连续放置数字包括新放置的值 添加目标值,例如 8
。我将这个数字组合称为组合。
我希望用户能够将 8 放置在该数组中的任何位置。由于 2 + 1 + 1 + 2 = 6
用户应该能够将其放置在外部 9
之间的任何位置。
例如,正确的位置可以是 {9, 2, *2*, 1, 1, 2, 9}
或 {9, *2*, 2, 1, 1, 2, 9}
。
现在我实现这个的问题是,只有当您将 2
放在组合的外侧时,我才能让它工作,所以就像本段上面的第二个示例一样,与第一个不同。
我这样做的方法是:
startIndex
处查找值currentSum
currentSum == targetValue
:组合currentSum > targetValue
:未找到组合startIndex += 1
(如果放置在另一端则设置为 -1)并重复但这只能解决当新放置的值位于组合的外部边界时的问题。
我意识到我可以通过将包含新放置的值的每个潜在子数组的内容相加,然后查看其中一个加起来是否达到目标值 8
来暴力解决这个问题,但我正在寻找更优雅的东西。
最佳答案
您可以通过在填充值的左侧和右侧创建一个求和数组来实现此目的,一旦达到(或超过)目标就停止计算。在本例中,我使用 -1 来标记不需要考虑的值。考虑你的例子:
nums = { 9, 2, *2*, 1, 1, 2, 9 }
变成了
sums = { -1, 2, 0, 1, 2, 4, -1 }
现在,您可以在此序列中找到 (8 - 值),这意味着您插入的值位于开头或结尾,或者是插入索引右侧和左侧的两个值的组合,总计为 (8 - 值(value))。这些是您正在寻找的索引。我不计算总和中插入值的原因是,这会导致它被计算为双倍;事后添加会更容易。
这样做的有用部分是您始终只检查插入的值。考虑下一个例子,仍然寻找 8:
nums = { 3, 4, 3, *2*, 1, 2, 4, 1, 5 }
变成了
sums = { -1, 7, 3, *0*, 1, 3, 7, -1, -1 }
虽然您的数组仍然有 9 个值长,但您已经知道只剩下 6 个值需要检查。
关于java - 确定数组中某个值的邻居之和是否等于设定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60304673/
这个问题可能类似于In Angular2 *ngFor iteration, how do I output only unique values from the array?但我的问题是还有更多功
我编写了一个算法来获取 float 的总和,该算法对于整数来说非常有效,但是当我应用于 float 时,我得到的总和是负数。但是我的 float 数组只有正 float 。在这里我发布我的代码,感谢您
我想将这个简单的 for 循环转换为并行循环。它遍历字符串数组(从文本文件读取的 float )并计算总和。 for (int i = 0; i { float tmp; if (f
我正在尝试总结日期差异,一切都很好,除了如果有相同日期我想添加 1,例如,如果起始日期是:01/01/2003到目前为止是 01/01/2003 那么我想添加 1 天,但它没有添加 1 天,而是仅在
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Is JavaScript’s Floating-Point Math Broken? 这将是一个非常基本的计算机科
我刚接触sql,卡住了。我正在尝试计算每个用户走过的(每年)距离总和。我有一个具有以下结构的表(我们称之为 dist_table): rowid user_name date
我刚接触sql,卡住了。我正在尝试计算每个用户走过的(每年)距离总和。我有一个具有以下结构的表(我们称之为 dist_table): rowid user_name date
给定一个正数数组。我想将数组拆分为 2 个不同的子集,以使它们的 gcd(最大公约数)之和最大。 示例数组:{6,7,6,7}。 答案:需要的两个子集是:{6,6}和{7,7};它们各自的 gcd(s
我想在我的数组中求和:
我想将下面的字符串拆分为字母和数字,然后我需要计算数字的总和。我的示例问题是 a[20]={"abcd123dc2"}; 预期输出: abcddc 8 我的代码: int main() { c
为什么 sizeof 运算符返回的结构大小大于该结构成员的总大小? 最佳答案 这是因为添加了填充以满足对齐约束。 Data structure alignment影响程序的性能和正确性: 未对齐的访问
为什么 sizeof 运算符返回的结构大小大于该结构成员的总大小? 最佳答案 这是因为添加了填充以满足对齐约束。 Data structure alignment影响程序的性能和正确性: 未对齐的访问
为什么 sizeof 运算符返回的结构大小大于该结构成员的总大小? 最佳答案 这是因为添加了填充以满足对齐约束。 Data structure alignment影响程序的性能和正确性: 未对齐的访问
为什么 sizeof 运算符返回的结构大小大于该结构成员的总大小? 最佳答案 这是因为添加了填充以满足对齐约束。 Data structure alignment影响程序的性能和正确性: 未对齐的访问
为什么 sizeof 运算符返回的结构大小大于该结构成员的总大小? 最佳答案 这是因为添加了填充以满足对齐约束。 Data structure alignment影响程序的性能和正确性: 未对齐的访问
为什么 sizeof 运算符返回的结构大小大于该结构成员的总大小? 最佳答案 这是因为添加了填充以满足对齐约束。 Data structure alignment影响程序的性能和正确性: 未对齐的访问
为什么 sizeof 运算符返回的结构大小大于该结构成员的总大小? 最佳答案 这是因为添加了填充以满足对齐约束。 Data structure alignment影响程序的性能和正确性: 未对齐的访问
为什么 sizeof 运算符返回的结构大小大于该结构成员的总大小? 最佳答案 这是因为添加了填充以满足对齐约束。 Data structure alignment影响程序的性能和正确性: 未对齐的访问
为什么 sizeof 运算符返回的结构大小大于该结构成员的总大小? 最佳答案 这是因为添加了填充以满足对齐约束。 Data structure alignment影响程序的性能和正确性: 未对齐的访问
为什么 sizeof 运算符返回的结构大小大于该结构成员的总大小? 最佳答案 这是因为添加了填充以满足对齐约束。 Data structure alignment影响程序的性能和正确性: 未对齐的访问
我是一名优秀的程序员,十分优秀!