arrays 相关问题

数组是一个有序数据结构,由一组元素(值或变量)组成,每个元素由一个或多个索引标识。在询问数组的特定变体时,请使用这些相关标签:[vector],[arraylist],[matrix]。在使用此标记时,在特定于编程语言的问题中 - 使用正在使用的编程语言标记问题。

从数组Python中提取数据(spotify API)

相当简单的问题。 如何从此返回数据中提取 Spotify:Artist: 值? [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4RB42AM4VqzdHRQiVbzDU1'}, 'href': 'https://...

回答 1 投票 0

当我在reactjs中映射对象数组时,为什么显示网格或flex不起作用

当我在 React 中映射对象数组时,显示 Grid 或 Flex 不起作用。 这是下面的一个例子 这就是我所期望的: 这就是我所做的! 我希望能够连续显示它们...

回答 2 投票 0

以下方式对数组元素求和的有效方法是什么?

假设给你一个 n 大小的数组 A 和一个整数 k。 现在你必须遵循这个函数: 长长和(int k) { 长长和 = 0; for(int i=0; i 假设给你一个 n 大小的数组 A 和一个整数 k。 现在你必须遵循这个功能: long long sum(int k) { long long sum = 0; for(int i=0; i<n; i++) { sum += min(A[i], k); } return sum; } 求和最有效的方法是什么? 如果我得到 m(<=100000) 查询,并且每次都给出不同的 k,它会变得非常耗时。 如果查询集随着每个 k 的变化而变化,那么你就不能比 O(n) 做得更好了。优化的唯一选择是使用多个线程(每个线程对数组的某个区域求和)或至少确保编译器正确矢量化您的循环(或使用内在函数手动编写矢量化版本)。 但是如果查询集是固定的并且仅改变k,那么您可以通过使用以下优化在 O(log n) 中完成。 预处理数组。对于所有k,此操作仅执行一次: 对元素进行排序 制作另一个相同长度的数组,其中包含部分和 例如: inputArray: 5 1 3 8 7 sortedArray: 1 3 5 7 8 partialSums: 1 4 9 16 24 现在,当给出新的k时,您需要执行以下步骤: 对 k 中给定的 sortedArray 进行二分查找——返回最大元素 <= k 的索引 结果是partialSums[i] + (partialSums.length - i) * k 你可以做得更好如果你可以对数组进行排序A[i]并准备一次辅助数组。 想法是: 计算有多少项小于k,然后通过公式计算等效总和:count*k 准备一个辅助数组,它将直接给出优于k的项目的总和 准备工作 第1步:对数组进行排序 std::sort(begin(A), end(A)); 第2步:准备辅助数组 std::vector<long long> p_sums(A.size()); std::partial_sum(rbegin(A), rend(A), begin(p_sums)); 查询 long long query(int k) { // first skip all items whose value is below k strictly auto it = std::lower_bound(begin(A), end(A), k); // compute the distance (number of items skipped) auto index = std::distance(begin(A), it); // do the sum long long result = index*k + p_sums[index]; return result; } 查询的复杂度为:O(log(N)),其中N是数组A的长度。 准备工作的复杂程度是:O(N*log(N))。我们可以使用基数排序到 O(N),但我认为这对你的情况没有用。 参考文献 std::sort() std::partial_sum() std::lower_bound() 你所做的看起来绝对没问题。除非这确实是绝对时间关键的(即客户抱怨你的应用程序太慢并且你测量了它,而这个函数就是问题所在,在这种情况下你可以尝试一些不可移植的向量指令,例如)。 通常,你可以通过从更高的层次来看待事情来更有效地做事。例如,如果我写 for (n = 0; n < 1000000; ++n) printf ("%lld\n", sum (100)); 那么这将需要很长的时间(五万亿的添加)并且可以更快地完成。如果一次更改数组 A 的一个元素并每次都重新计算总和,则效果相同。 假设数组 A 有 x 个不大于 k 的元素,集合 B 包含大于 k 且属于 A 的元素。 则函数 sum(k) 的结果等于 k * x + sum_b ,其中 sum_b 是属于 B 的元素之和。 可以先对数组A进行排序,然后计算数组pre_A,其中 pre_A[i] = pre_A[i - 1] + A[i] (i > 0), or 0 (i = 0); 然后对于每个查询k,在A上使用二分查找找到不大于k的最大元素u。假设u的索引为index_u,则sum(k)等于 k * index_u + pre_A[n] - pre_A[index_u] 。每个查询的时间复杂度是 log(n)。 如果数组A可能会动态变化,可以使用BST来处理。

回答 4 投票 0

为什么当我修改第二个数组(arrTwo)时我的第一个数组(arrOne)也被修改? [重复]

当我输入“12345”和“0”的用户输入时,我在第一个循环中看到 arrOne 正在按照我期望的方式填充 1, 2, 3, 4, 5。但是在第二个循环之后(哪些人群...

回答 1 投票 0

将具有特定属性的连续元素分组到对象数组中

我想帮助解决这个练习。 我有这个对象数组,我希望具有连续属性“inCard= true”的元素全部位于单个“card”内。 界面元素T...

回答 1 投票 0

为什么我的数组有重复项? JavaScript

当我在数组上使用 consolelog 时,它有 2 个重复项,一个是空的,一个是带有被推送的对象的,当我刷新页面(我使用 localStorage 来保存数组)时,数组有一个...

回答 1 投票 0

在Python中迭代文本文件中不匹配条件的行

我目前正在处理来自 WhatsApp 的一些聊天消息,我需要以允许我将它们用于其他应用程序的方式拆分它们。这些消息是纯文本并遵循特定的

回答 1 投票 0

将.data文件转换为numpy数组

我的文件数据如下所示: “3.0,1.5,0 4.6,0.7,1 5.8,2.7,2" 我想将这些数据加载到两个 numpy 数组中,使其最终看起来像这样: X = [ [3.0, 1.5],...

回答 1 投票 0

合并两个二维数组的行,对一列进行分组,并在每个组内的另一列中附加非空值

我正在重构一个日历应用程序。该日历具有用户定义的网格(可以进行预订的时段),但也需要显示“离网”预订。想想“常规”...

回答 3 投票 0

将二维数组合并成组

我正在重构一个日历应用程序。该日历具有用户定义的网格(可以进行预订的时段),但也需要显示“离网”预订。想想“常规”时段 08:00、09:0...

回答 3 投票 0

如何在视图类中创建 1 到 100 范围内的数字数组

大家,请帮帮我! 我想在一个形状中显示一组数字。 我做了什么 1)我在View类中用canvas绘制一个形状。 2)我创建一个随机数。 3)我已经搜索了很多&

回答 2 投票 0

将未知深度的多维数组减少为具有关联行的索引数组

我有一个深度不确定的多维数组,需要将其减少为二维数组(关联行的索引数组)。 数组:5 [▼ 0 => 数组:3 [▼ “id”=> 2 &...

回答 1 投票 0

多维数组转换为单数组

我意识到这可能是一个简单的问题,但阅读文档一段时间后,我一直无法找到解决方案。我有一个如下所示格式的多维数组。这...

回答 1 投票 0

如何检查[]符号数组包含多少个

所以,我有一个像这样的数组 常量数组=[1,2,3,4,[5,6],[[[[7,8]]]]]。我知道我可以通过像这样的扁平函数来使其扁平化。 array.flat(4) // [1,2,3,4,5,6,7,8] 但如您所知,我们可以做到这一点...

回答 1 投票 0

as3 如何使用数组列表进行交换?

我有数组列表,在这个数组中有4个url和端口,我希望当用户从索引[0]连接时连接丢失,当单击用户此按钮时我显示按钮我想连接相同的端口但第二...

回答 1 投票 0

php 中 foreach 循环中的求和值

数组 ( ( [0] => 数组 ( [请求的计数] = 8.0 ) [1] => 数组 ( [共...

回答 1 投票 0

在没有 for 循环的情况下查找数组的排列

我在 LinkedIn 群组上看到了这个面试问题 总而言之,如果我有一个数组 [1,2,3,4,5] 并输入 3 我需要输出 [1,2,3], [3,2,1], [2,3,1], [2,1,3], [1,3,2], [3,1,2], [2 ,...

回答 7 投票 0

Javascript - 通过带有标签的通用值对对象数组进行分组

我试图通过按特定值分组并将该值添加为标签并将其从新数组中的对象中取出来将一个对象数组转换为另一个对象数组。 输入:所以对于

回答 6 投票 0

使用 array_push() 将二维数组的行追加到另一个二维数组

我正在尝试使用 php 创建一个 JSON 数组。每次我发布一个新数组时,新数组都需要附加在旧数组前面。 我的代码可以工作,但是,它创建了一种奇怪的格式,例如 [...

回答 3 投票 0

PHP - array_push 错误的 JSON 格式

我正在尝试使用 php 创建一个 JSON 数组。每次我发布一个新数组时,新数组都需要附加在旧数组前面。 我的代码可以正常工作,但是它会创建一种奇怪的格式,例如...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.