Conversation
oda
reviewed
Dec 10, 2024
| 思ったこと | ||
| - 変数名について、heapを用いる解法では`kth_largest`とかそういう名前が多かった。確かに、`heapq.heappush`とかやっているので`heap`だけでは不十分だと感じた。 | ||
| - `__init__()`にて`add()`を呼ぶ解法も多かった。コードの重複がないので、その解法の方が、コンパクトに収まる様に感じた。 | ||
|
|
There was a problem hiding this comment.
https://docs.python.org/3/library/heapq.html#heapq.heappushpop
heapq の標準ドキュメントを見たことがなければざっと目を通しておいてください。たとえば、heappushpop などがあったりします。dict を使うたびに見る、みたいなのはやりすぎだとは思いますが、時々目を通すといいでしょう。
oda
reviewed
Dec 10, 2024
|
|
||
| def __init__(self, k: int, nums: List[int]): | ||
| if k <= 0 or k > len(nums) + 1: | ||
| raise ValueError(f'Invalid input value k = {k}') |
There was a problem hiding this comment.
https://docs.python.org/3/library/exceptions.html#ValueError
そうですね。これは ValueError が適切と思います。
oda
reviewed
Dec 10, 2024
|
|
||
|
|
||
| class KthLargest: | ||
|
|
nodchip
reviewed
Dec 10, 2024
| self.heap: List[int] = [] | ||
| self.k = k | ||
| for num in nums: | ||
| if len(self.heap) < self.k: |
There was a problem hiding this comment.
len(self.heap) == self.k のときに push されないように見えます。
Owner
Author
There was a problem hiding this comment.
コメントありがとうございます。
とりあえずpushをして、kを超える要素数があればpopする方がみよいですね。
| class KthLargest: | ||
|
|
||
| def __init__(self, k: int, nums: List[int]): | ||
| if k <= 0 or k > len(nums) + 1: |
There was a problem hiding this comment.
if not 0 < k <= len(nums):
のほうが分かりやすいと思います。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://leetcode.com/problems/kth-largest-element-in-a-stream/description/