【发布时间】:2020-08-15 15:14:21
【问题描述】:
如何编写一个函数来找到不是 1 并且恰好存在于一个数组中的最小值?
例如:
const x = [1, 8, 7, 3, 4, 1, 8];
const y = [6, 4, 1, 8, 5, 1, 7];
应该返回 3,因为它是仅在一个数组 (x) 中的最小数字。如果没有唯一值,那么它应该返回一个大于 1 且小于第二小的数字的数字。比如
const x = [5, 5, 5, 7 ,7 ,7];
const y = [3, 4, 5, 1, 3, 7];
上面应该返回 2,因为 3 多次出现,并且最小的唯一值是 1,所以应该返回的数字是 2。
我已经尝试了以下方法。
function lowUniwueValue(x, y) {
const uniqueVal = parseInt(x.filter((obj) => y.indexOf(obj) == -1).toString());
return uniqueVal;
}
上述函数返回唯一值,但我不能保证它是最低的。
我也尝试过创建一个新集合,它只有唯一的值,但问题是我们看不到低数字是否有重复。
【问题讨论】:
-
到目前为止你有什么尝试?
-
python 代码适合你吗?
-
@YashShah 它被标记为 JavaScript。
-
@Julia 请查看更新后的答案
-
@hev1 是的,我知道,但这种方法对作者来说可能就足够了。
标签: javascript arrays algorithm