问题标签 [array-algorithms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
661 浏览

javascript - 计数排序数组值没有改变

我正在尝试实现计数排序算法。基于算法简介中的伪代码(如果你不知道它只是一本书),我想出了这个代码:

但是,当我使用该函数时,我的数组保持不变(我输入了所有参数!)如何解决这个问题?有人可以解释发生了什么吗?

0 投票
1 回答
149 浏览

sorting - 有人可以向我解释基数排序吗?

我正在尝试在 javascript 中实现基数排序。但是,我不知道如何进行基数排序!我有这个伪代码(来自算法简介):

但是,当它说 时A on digit i,那是什么意思?

0 投票
1 回答
147 浏览

java - 数字序列中固定长度的最大数

有一天我正在解决一个算法问题,就像:

给定一个数字数组,找到其中最大可能的固定长度数?例如-“43124911”。找到长度为 4 的最大数?答案是:4911

我尝试在 java 中为此创建 O(n) 解决方案...您能帮我改进我的解决方案/报告错误/漏洞/或更好的解决方案吗?提前致谢..

代码:

0 投票
3 回答
119 浏览

c# - 如何在 C# 中创建一个返回数组中元素数量的算法?

我已经有了一些我认为朝着正确方向发展的代码,但需要帮助来填补空白。请注意,我不能在这里使用 array.Length,实际上我必须创建一个算法来执行与 array.Length 相同的功能。这是我到目前为止所拥有的:

0 投票
2 回答
1503 浏览

algorithm - 查找给定范围内的所有数字对

我有 N 个数字可以说20 30 15 30 30 40 15 20。现在我想找出给定范围内有多少对数字。(给定LR)。数字对=两个数字相同。我的做法:

创建一个数组映射,使得map 的键= 数字,= 出现该数字的索引的数组列表。然后我从 L 遍历到 R 并且对于该范围内的每个值,我在相应的数组列表中遍历以查找是否有一对适合范围,然后增加计数。

但我认为这种方法太慢了。有没有更快的方法来做同样的事情?

示例:对于上述给定序列,L=0 和 R=6 答案=5。可能的配对是 20 的 1、15 的 1 和 30 的 3。

我正在开发一个解决方案,假设数字可以达到 10^8(并且非负数)。

0 投票
1 回答
902 浏览

c++ - 在C中合并2个排序数组

我正在编写合并 2 个排序数组的代码,代码如下

运行此代码程序时停止,我得到以下异常

如何修复它

0 投票
1 回答
122 浏览

algorithm - 给定 R3 中的向量列表,生成了多少个唯一平面?

在研究球体的包装时,我遇到了这个问题,我有一个向量列表,我想知道它们生成了多少个平面。我正在生成这些向量列表,这些向量从球体中心指向球体外表面上的接触点,我想知道这些向量中有多少是共面的。例如,我想要一个可以执行以下操作的算法..

给定向量 {1,2,3}、{2,4,6} 和 {0,6,9},它应该报告只有一个由前两个和第三个中的一个生成的唯一平面。

我所有的尝试都没有取得任何进展,因为每次我计算生成了多少飞机时,我都会大大过度计算。我觉得这应该是一件容易的事,如果有任何线性代数可以以某种方式来拯救,我也很好奇。如果我可以确定生成了多少个平面以及这些平面是什么,我认为很容易确定每个平面中有多少向量,这是这个问题的最后一部分。如果有人能想到一种更通用的方法来处理任何二维或更大的维度,那实际上是理想的,但现在这就是我所关心的。

0 投票
2 回答
516 浏览

java - 在未排序且重复的数组中查找数组的最大下标

我有一个未排序且重复的数组,例如 {1,1,2,2,3,3,5,5,4,4,4} ,我想找到数组中的最大数字及其最大位置。例如5 重复了两次,我想获得第二个 5 的位置。我应该如何处理。我尝试以相反的方式对数组进行排序并检查下一个数字并找到它的位置。这可以更快地完成吗?有什么线索吗?

0 投票
1 回答
358 浏览

c - 如何用k替换小于k的范围的元素?

查询次数较多时,如何将大于k的数组范围内的元素替换为k?假设每个查询都以 lrk 形式给出;其中 [l...r] 是数组的范围。

0 投票
2 回答
159 浏览

java - 从未排序的数组中找出两个这样的元素,它们具有最小的差异而不对数组进行排序

我们得到了一个整数数组:

我们必须找到差异最小的两个元素。我以线性时间复杂度做到了这一点,但它只适用于完全领先于二次复杂度的运行时间的排序顺序。我们有什么方法可以以对数或线性时间复杂度进行计算吗?

提前致谢。