假设我们有两个数组arr1和arr2,arr2的元素是唯一的,并且arr2中的所有元素也都存在于arr1中。我们必须对arr1的元素进行排序,以使arr1中项目的相对顺序与arr2中的项目相同。如果arr2中不存在某些元素,则应将它们以升序放置在arr1的末尾。因此,如果arr1类似于[2,3,1,3,2,4,6,7,9,2,19],而arr2类似于[2,1,4,3,9,6],则结果将是[2,2,2,1,4,3,3,9,6,7,19]
为了解决这个问题,我们将遵循以下步骤-
创建一个名为D的映射,并存储arr1中存在的元素的频率
定义两个数组res和temp
对于arr2中的每个元素i-
将我附加到res
对于j,范围从0到D [i] – 1
D [i]:= 0
D中的(键,值)对
对于我:= 0至值– 1
将键添加到临时
如果值不为0,则
排序临时数组,在res的末尾添加temp,然后返回res
让我们看下面的实现以更好地理解-
class Solution(object): def relativeSortArray(self, arr1, arr2): d = {} for i in arr1: if i not in d: d[i]= 1 else: d[i]+=1 res = [] temp = [] for i in arr2: for j in range(d[i]): res.append(i) d[i] =0 for k,v in d.items(): if v: for i in range(v): temp.append(k) temp.sort() res.extend(temp) return res ob1 = Solution()print(ob1.relativeSortArray([2,3,1,4,2,4,6,7,9,2,19] ,[2,1,4,3,9,6]))
[2,3,1,3,2,4,6,7,9,2,19] [2,1,4,3,9,6]
输出结果
[2, 2, 2, 1, 4, 4, 3, 9, 6, 7, 19]
问题内容: 如何按第n列对NumPy中的数组排序? 例如, 我想按第二列对行进行排序,以便返回: 问题答案: 对于“正确”的方式,请参见的关键字参数。 但是,你需要将数组视为具有字段的数组(结构化数组)。 如果你最初没有使用字段定义数组,那么“正确”的方法将非常丑陋。 作为一个简单的示例,对其进行排序并返回副本: 对其进行原位排序: 据我所知,确实是最优雅的方式… 此方法的唯一优点是,参数是用于排
对于合并排序,我写了这样的代码:我已经测试了合并功能,工作正常。但是在mergeSort函数中,我不能处理数组。它返回与输入列表相同的列表。
问题内容: 我正在尝试获得一个函数,如果您对它进行排序(列表名),它将对该列表中的所有数字进行从最小到最大的排序。 我不确定我的问题是什么,但是我需要一些帮助,因为输出实际上并不是最小到最大,对于输出的前两个数字来说,它最小到最大。 范例: 如果list中有23、212、44个,而不是我对它进行排序,则输出将是这样。 输出: 212,23,44 它 应该是 23、44、212。 码: 更多代码:
我有一个Object数组,它声明如下所示: 我需要根据每个对象的第三个元素,然后根据第二个元素对这些对象进行排序。因此我的输出将是:
本文向大家介绍在Perl中对数组排序,包括了在Perl中对数组排序的使用技巧和注意事项,需要的朋友参考一下 Perl中的sort()函数根据ASCII数值标准对数组的每个元素进行排序。此函数具有以下语法- 语法 该函数对LIST排序并返回排序后的数组值。如果指定了SUBROUTINE,则在排序元素时将应用SUBROUTINE内部的指定逻辑。 示例 输出结果 这将产生以下结果- 请注意,排序是根据单
问题内容: 我正在尝试通过另一个数组的值对一个数组的行进行排序。例如: 我想按降序对arr1进行排序,并保持arr1和arr2之间的当前关系(即,在对两者进行排序之后,and的行都相同)。 问题答案: 用法如下: 本示例以降序排列。
我正在做算法的中期审查,我试图用Java实现所有的伪代码,以便更好地理解算法。但是在堆排序部分,我的代码有一些问题。我的输入数组是 {10,16,4,10,14,7,9,3,2,8,1} 第一个元素只是表示我想要排序的元素的数量。换句话说,需要排序的元素从索引1开始。 我的build max heap输出是:16 14 10 8 7 9 3 2 4 1 堆排序的输出是:1 3 2 4 7 8 9
问题内容: 我有2d数组,尺寸为3x10,我想按从低到高的第二行中的值进行排序。 问题答案: Python本身没有“ 2d数组”-它具有(1d)内置列表,以及(1d)标准库模块array中的数组。有第三方库,例如它确实提供了Python的使用多维数组,当然你会提这样的第三方库,如果你是“Python中的”使用其中的一部分,而不是只是说, 正确的 ? -) 因此,我假设“ 2d数组”是指列表列表,例