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 摘要。