【问题标题】:Subtract Two Arrays With Duplicate Elements减去两个具有重复元素的数组
【发布时间】:2022-11-17 07:41:41
【问题描述】:

可以说我有两个数组如下:

const A = ['Mo', 'Tu', 'We', 'Thu', 'Fr']
const B = ['Mo', 'Mo', 'Mo', 'Tu', 'Thu', 'Fr', 'Sa']

我想从数组 B 中减去数组 A。结果如下所示:

const result = ['Mo', 'Mo', 'Sa']

如何实现?看起来很简单,但我无法让它工作。

本质上,这应该从 B 中删除 A 中的所有内容。

【问题讨论】:

标签: javascript typescript


【解决方案1】:

考虑创建 B 的地图

键:字符串

值:该字符串出现的次数

循环遍历 A 的值,使用 A 的每个值作为键来访问映射的数字值,并减去数字直到 0。

遍历更新的地图以重新创建您的数组。 这可能不是最佳解决方案,但时间复杂度仍然为 O(n)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 2021-10-22
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2021-07-08
    相关资源
    最近更新 更多