一文で述べると、「エディタで毎日のleetcode
問題を練習し始めましょう!」
もし、エディタで問題を解きたい場合...
もし、簡単で迅速に毎日の問題を取得したい場合...
もし、自分の解答リポジトリを作成したい場合...
そのすべてができるのがleetcode-practice
です!
ツール | 備考 |
---|---|
nodejs | lts |
git | lts |
我慢 | 問題を解き続けるための心 |
この方法は、自由自在にlc
、lk
、lf
のスクリプトコマンドを使用して、任意のディレクトリで問題を作成およびチェックするためにお勧めされています。
使用例
自分の解答リポジトリを素早く作成したい場合は、当社のテンプレートプロジェクトを使用して、GitHubプロジェクトを素早く作成し、初期化されたコンテンツを取得できます。
使用例
エディタで問題を作成するためにクリック操作を使用したい場合は、当社のエディタプラグイン(予定ではWebStorm
およびVSCode
をサポート)を使用して、エディタで問題を作成できます。
使用例
lc
、lk
、lf
のスクリプトを使用して、任意のnpmパッケージ管理ソフトウェア(たとえば*npm
、yarn
、pnpm
*など)でプロジェクト
またはグローバル
にインストールできます。
# 例:グローバルインストール
# npmを使用してグローバルにインストール
npm install -g leetcode-practice
# pnpmを使用してインストール
pnpm install -g leetcode-practice
# yarnを使用してインストール
yarn global install leetcode-practice
# 例:プロジェクト内のインストール
yarn add --dev leetcode-practice
ヒント: プロジェクト内およびグローバルインストールの違いは、スクリプトの範囲が異なることです。プロジェクト内でインストールすると、スクリプトはそのプロジェクト内でのみ使用できますが、他のプロジェクトでは(leetcode-practiceパッケージがインストールされていない場合)スクリプトを使用できません。一方、グローバルインストールでは、どのディレクトリでもスクリプトを使用できます。
ここでは、毎日の作成
およびチェック
、およびキーワード検索の方法を簡単に説明します。詳細なスクリプトとパラメータについては、KFCとその重要なパラメータの説明を参照してください。
スクリプトの範囲内で、指定の日の毎日の問題を作成するには、lc
を実行します。
# 私の作業ディレクトリに移動する
cd my-workspace
# 毎日の問題を作成する
lc
次のプロンプトが表示されると:
MODE: today
問題[299.猜数字游戏]を取得しました!
問題ファイルの場所:/my-workspace/299.bulls-and-cows/question.js
問題は作成されました!エディタで問題を解く準備ができました!
問題の解答コードを書き終えたら、lk
スクリプトを使用して問題の簡単なチェックを行うことができます!
# lkスクリプトはlcスクリプトと対応しています。パラメータなし
の場合、今日の問題をチェックすることを意味します
lk
以下のようなメッセージが表示されます:
MODE: today
問題[299.猜数字游戏]のテスト結果:
┌────────────┬──────────────────────────────────────────┬──────────────────────────────────────────┬────────────┬────────────┐
│ テスト結果 │ 期待結果 │ 実行結果 │ 実行時間 │ メモリ使用量 │
├────────────┼──────────────────────────────────────────┼──────────────────────────────────────────┼────────────┼────────────┤
│ パス │ "1A3B" │ "1A3B" │ 0.1361ms │ 2.79 KB │
│ パス │ "1A1B" │ "1A1B" │ 0.0623ms │ 2.93 KB │
└────────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴────────────┴────────────┘
問題提出へのリンクをクリックしてください: https://leetcode.cn/problems/bulls-and-cows/
テスト結果
、期待結果
、実行結果
、実行時間
、メモリ使用量
の情報が表示されます。
キーワード検索は、lf
スクリプトの主要な機能の1つです。キーワードの形式で問題情報を取得し、簡単に作成できます。
# lfスクリプトは完全なインタラクティブなスクリプトで、プロンプトに従って入力操作を行うことで、希望する情報を簡単に取得できます
lf
以下は、two-sum
問題をキーワードで検索して作成する方法の例です。
# キーワード "two sum" を入力し、Enterキーを押すと、すべての"two sum"に関連する問題が表示されます。キーボードの上下キーを使用して選択し、Enterキーを押して確認します。
? 検索モードを選択してください? キーワード検索
? キーワードを入力してください 二つの数
? 問題を選んでください 1.两数之和
1
MODE: identity
問題[1.两数之和]を取得しました!
問題ファイルの場所:fill:///my-workspace/1.two-sum/question.js:36
注意: 作成時に、クリック可能なファイルパスが表示され、エディタのコンソールでクリックすると、対応するファイルの関数の開始位置が直接開きます。
- GitHubでテンプレートプロジェクトleetcodePracticeTemplateを開きます。
- 右上隅の
Use this template
をクリックし、Create a new repository
を選択します。 - 通常のリポジトリの作成と同様に情報を入力します。
- しばらく待ちます...そして完了です。これで、自分の
leetcode解答リポジトリ
ができました!
作成プロセスの準備画像
例: 個人的なプロジェクトを使用します。
# これは例です。自分のプロジェクトをクローンしてください。(あなたがこれを試している時点で、このプロジェクトはもうクリアされているかもしれませんが、正常な現象なので疑わないでください)
git clone [email protected]:wh131462/my-leetcode-practice.git
# プロジェクトディレクトリに移動
cd my-leetcode-practice
# 初期化
npm i
テンプレートプロジェクトでは、leetcode-practice
を使用する方法は2つあります。1つはプロジェクト内コマンド
の形式、もう1つはnpmスクリプト
の形式です。詳細な使い方とパラメータについては、KFCとその重要なパラメータの説明を参照してください。
# ルートディレクトリで実行するnpm run lc コマンドを使用して、今日の問題を作成します。デフォルトで -d src を設定しているため、src ディレクトリ内で作成されます
npm run lc
# または yarn: 好きなどちらかのパッケージ管理ツールを使用できます
yarn lc
あなたはまた、lc
コマンドを使用して作成することもできますが、あなたはプ
ロジェクト内でしかスクリプトを使用できません(あなたがleetcode-practice
をグローバルにインストールしていない場合)。
# ここでの注意点として、プロジェクト内コマンドとは、コマンドの作用範囲が現在のプロジェクトディレクトリに限定されることを意味します。つまり、他のディレクトリで lc コマンドを試しても効果はありません。
# 同様に、最初にインストールしたときに、プロジェクト内で lc コマンドを使用しても、そのコマンドが機能しない場合があります。この場合は、ターミナル(terminal)を閉じて再度開いて、キャッシュを手動で更新する必要があります。
# npmスクリプトは、package.jsonのscriptsフィールドにエンベロープされたスクリプトコマンドのことです。
# lcコマンドを使用して作成することもできますが、その場合はプロジェクト内でしか使用できません(あなたが"leetcode-practice"をグローバルにインストールしていない場合)。
lc
注意: ここで強調すると、プロジェクト内コマンドは、コマンドの作用範囲が現在のプロジェクトディレクトリに限定されることを意味します。つまり、他のディレクトリで
lc
コマンドを試しても効果はありません。同様に、最初にインストールしたときに、プロジェクト内でlc
コマンドを使用しても、そのコマンドが機能しない場合があります。この場合は、ターミナル(terminal)を閉じてから再度開き、キャッシュを手動で更新する必要があります。npmスクリプトは、package.jsonのscriptsフィールドにエンベロープされたスクリプトコマンドのことです。
更新したい場合は、update
という名前の封印されたnpmコマンドを使用して、最新バージョン(latest)
のleetcode-practice
をインストールできます。
# どちらかのパッケージ管理ツールを使用して実行できます
npm run update
# もちろん、コマンドを手動で実行することもできます
npm i -D leetcode-practice
KFC
は、当社の3つの主要コマンドlk
、lf
、lc
を素早く覚えるための簡単な記憶法です。
コマンド | 説明 |
---|---|
lk | 主要なチェックコマンドであり、3つのモードに対応する問題のチェックを行います |
lf | 主要な検索コマンドであり、Hot100、キーワード検索、条件検索などのモードで問題を検索し、問題を作成します |
lc | 主要な作成コマンドであり、3つの作成モード(毎日の問題、指定された問題、ランダムな問題)をサポートし、問題の作成を行います |
簡易パラメータ | 完全パラメータ | 説明 |
---|---|---|
無し/-t |
--today |
今日の毎日の問題をチェックします。 |
問題番号/-i <identity> |
--identity <identity> |
指定された番号に対応する問題をチェックします。指定されたIDが現在の作業ディレクトリに存在するかどうかも確認します。 |
-r |
--random |
最後に使用されたランダムモードで作成された問題をチェックします。 |
-e |
--easy |
インタラクティブにプロンプトに従って問題をチェックします。 |
注意: チェックする際は、どのモードを使用するかに注意してください。対応するモードの作成操作をすでに実行したことを確認してください。 指定番号モードは例外であり、作成されていない問題をチェックすることもできます。
簡易パラメータ | 完全パラメータ | 説明 |
---|---|---|
無し | 無し | インタラクティブにクエリに入り、ヒントに従って問題を検索したりフィルタリングしたりして問題を作成します。 |
簡易パラメータ | 完全パラメータ | 説明 |
---|---|---|
無し/-t |
--today |
今日の毎日の問題を作成します。 |
問題番号/-i <identity> |
--identity <identity> |
指定された番号に対応する問題を作成します。 |
-r |
--random |
まだ現れていないランダムな問題を作成します。 |
-e |
--easy |
インタラクティブに問題を作成します。 |
簡易パラメータ | 完全パラメータ | 説明 |
---|---|---|
-d <directory> |
--directory <directory> |
作業ディレクトリを指定します(現在の実行ディレクトリの相対パス)。これは作成とチェックの両方に影響を与えます。 |
-V |
--version |
バージョン番号を確認します。 |
-v |
--ver |
Leetcode-practice のバージョン情報と追加情報をチェックする |
-h |
--help |
ヘルプ情報を取得します。 |
-l [language] |
--language [language] |
パラメータなしで現在の言語環境を取得します(デフォルトはJavaScript)。言語を指定すると、その言語の環境が設定されます(たとえば、-l java でJavaの環境が設定されます)。 |
-u |
--update |
現在のスクリプトまたは依存関係を更新します。 |
注意: 汎用パラメータは
lk
,lf
,lc
の3つのスクリプトでサポートされていますが、その使用法の意味論は一般的には同じですが、いくつかの指示には異なる挙動が含まれる場合があります(たとえば、lc
コマンドで-d
パラメータを指定した場合は、指定したディレクトリ内で問題を作成
するのに対し、lk
コマンドで-d
パラメータを指定すると指定したディレクトリに問題をチェック
します)。
このプロジェクトの開発と改善には、これらの貢献者のご努力が不可欠です。ここに、すべての方々に心から感謝いたします!
もしオープンソースに対する情熱を持ち、私たちのオープンソースイニシアチブに貢献したいとお考えでしたら、貢献ガイドライン を参照してください。
使用上の問題がある場合や、提案がある場合は、使用フィードバックグループにご参加ください!
グループで開発者と対面してコミュニケーションを取り、新たなアイデアを生み出すことを願っています!