code-chronicles-code / code-chronicles-code/leetcode-curriculum
Add `mins` and `maxes` TypeScript goodies
- 主要语言
- 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