当前位置: 首页 > 知识库问答 >
问题:

在O(1)中查找数组值大于x的第一个索引

吴镜
2023-03-14

共有1个答案

商焕
2023-03-14

为了能够通过数组找到具有特定属性(例如:大于目标)的值的索引,必须遍历实现搜索算法的数组。

因此O(1)是不可能实现的。

  • 如果数组是排序的,如您在示例中所示,则可以通过实现二进制搜索算法来实现O(log(n))中所需的内容。您还可以在java.util.arrays.
  • 中使用该实现
  • 如果数组未排序,则必须使用复杂度为O(n)的线性搜索算法在最坏情况下遍历数组的所有元素。
 类似资料:
  • 我有一个向量,想找到第一个大于100的值的位置。

  • 我需要找到高于指定阈值的的第一个和最后一个元素。我找到了以下解决方案,这是有效的,但它看起来有点令人费解。有没有更简单/更蟒蛇的方式?

  • 问题内容: 在列表中查找大于x的第一个索引的最Python方式是什么? 例如, 功能 会回来 问题答案:

  • 问题内容: 我有两个numpy数组A和B。A包含唯一值,而B是A的子数组。 例如: 问题答案: 您可以使用带有- 如果您关心维护订单,也可以使用- 对于一般情况,当&是未排序的数组时,您可以在中引入选项,就像这样- 为了解决一般情况,我还会添加我最喜欢的内容- 样品运行-

  • 问题内容: 我有一个数组: 我希望在此数组中找到多个值的行的索引: 对于此示例,我想要一个类似的结果: 我有一个执行此操作的代码,但我认为它过于复杂: 我找到了类似问题的答案,但仅适用于一维数组。 有没有一种方法可以更简单地完成我想要的工作? 问题答案: 方法1 一种方法是像这样 方法#2 一种内存有效的方法是将每一行转换为等效的线性索引,然后使用np.in1d,例如, 方法3 使用np.sear

  • 我一直在尽力,但还没有达到目的。我试图迭代向量(df$sample)中的值,并找到比当前值小20%的值的第一个连续发生率。我试图为每一行(示例)找到这个值,并将找到的值的日期打印到新的列中。 这是我的 df: 我尝试过使用Position()或which()。我想也许我可以用for循环来包装它们中的任何一个,但我的尝试并不完全正确。 或 我甚至找到了一个dply示例,它接近我所寻找的。 理想情况下