code-chronicles-code / code-chronicles-code/leetcode-curriculum

Add `mins` and `maxes` TypeScript goodies

未关闭
#178 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement typescript
主要语言
TypeScript
星标
20
派生
12
PR 合并指标
30 天内没有已合并 PR

描述

The Ruby [min](https://apidock.com/ruby/Enumerable/min) and [max](https://apidock.com/ruby/Enumerable/max) methods allow specifying an argument, to get more than one minimum or maximum. I think it'd be fun to add a goody for this, but rather than modifying `Iterator.prototype.min` and/or `Iterator.prototype.max`, I think we should have new goodies for this, since it's a somewhat niche need.

I'm proposing `Iterator.prototype.mins` and `Iterator.prototype.maxes` as the names for these, although other suggestions are welcome.

For the implementation, `BinaryHeap` would be fun to use. It will be easiest to start with `.maxes` (since the default behavior of the heap is as a min-heap, and we can use `compareNatural` goody as the default comparator). For `.mins`, it will be necessary to come up with a way to reverse the comparator.

Additional note: `min` and `max` handle NaN specially. We can skip that behavior to start with for `.mins` and `.maxes`, and come back to it later.

贡献指南

打开贡献指南

调研方向

先定位 Iterator.prototype.min 和 Iterator.prototype.max,然后阅读 BinaryHeap 和 compareNatural 这两个工具。考虑提议的名称 Iterator.prototype.mins 和 Iterator.prototype.maxes,以及每个方法应如何处理比较器。完成标准是两个提议的工具都能处理多个最小值或最大值;NaN 的行为可以暂不纳入初始范围。

由索引模型根据 Issue 内容生成。

评估

技术栈
typescript
领域
tooling
Issue 类型
功能
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。