ソフトウェア技術ブログ

ソフトウェア技術ブログへようこそ!React、JavaScript、技術スキルのナレッジ記事ページです。monorepoの技術的な情報をお探しの方も、zustandの状態管理のヒントをお探しの方も、フロントエンド開発の理解を深めたい方も、ここには豊富なリソースがあります。各記事は、必要な情報を素早く見つけることができるよう、わかりやすく、アクセスしやすいコンテンツを提供するよう注意深く書かれています。基本的なコンセプトから高度なヒントまで、あなたが初心者であろうと上級者であろうと、誰にとっても役立つ情報があります。グラフィックコンテンツにご興味のある方は、以下のサイトもご参照ください Instagram

[LeetCode] 0040. 組み合わせ和Ⅱ

候補番号 (candidates) とターゲット番号 (target) のコレクションが与えられた場合、候補番号の合計がターゲットになる、候補内のすべての一意の組み合わせを見つけます。

候補内の各番号は、組み合わせで 1 回だけ使用できます。

注: ソリューション セットには重複した組み合わせが含まれていてはなりません。

続きを読む »

[LeetCode] 0039. 組み合わせ合計

個別の整数候補の配列とターゲット整数ターゲットを指定すると、選択した数値の合計がターゲットとなるすべての一意の組み合わせのリストを返します。組み合わせは任意の順序で返すことができます。

同じ数字を候補から無制限に選択できます。選択された数字の少なくとも 1 つの頻度が異なる場合、2 つの組み合わせは一意になります。

テスト ケースは、指定された入力に対して合計がターゲットとなる一意の組み合わせの数が 150 個未満になるように生成されます。

続きを読む »

[LeetCode] 1143. 最長共通部分列

2 つの文字列 text1 と text2 を指定すると、それらの最長の共通部分シーケンスの長さを返します。共通部分シーケンスがない場合は、0 を返します。

文字列のサブシーケンスは、残りの文字の相対的な順序を変更せずに、一部の文字 (なくてもよい) が削除された、元の文字列から生成された新しい文字列です。

たとえば、「ace」は「abcde」の部分列です。
2 つの文字列の共通部分シーケンスは、両方の文字列に共通の部分シーケンスです。

続きを読む »

[LeetCode] 0070. 階段を登る

あなたは階段を登っています。頂上に到達するには n 歩かかります。

毎回 1 段または 2 段ずつ登ることができます。どのようにして頂上まで登ることができますか?

続きを読む »

データ構造の予備的な理解: 初心者プログラマが知っておくべきことは何ですか? 3大勉強法を一度に!

プログラミングを学習していると「データ構造」という言葉をよく聞きます。正確には何ですか?なぜ勉強するのか?どうやって始めればいいですか?この記事では、データ構造の基本概念をすぐに理解できるように、簡単な比喩と実用的な例を使用して、簡単に始められるようにします。 😊

続きを読む »

[LeetCode] 0191. 1 ビットの数

符号なし整数のバイナリ表現を取得し、その整数が持つ「1」ビットの数 (ハミング重みとも呼ばれます) を返す関数を作成します。

注記:

Java などの一部の言語では、符号なし整数型が存在しないことに注意してください。この場合、整数の内部バイナリ表現は同じであるため、入力は符号付き整数型として与えられます。署名されているか署名されていないかです。
Java では、コンパイラは 2 の補数表記を使用して符号付き整数を表します。そのため、例 3 では、入力は符号付き整数 -3 を表します。

続きを読む »

[LeetCode] 0152. 最大積サブ配列

整数配列 nums を指定すると、最大の積を持つ部分配列を見つけて、その積を返します。

テスト ケースは、答えが 32 ビット整数に収まるように生成されます。

続きを読む »

[LeetCode] 0011. 最も多くの水が入った容器

長さ n の整数配列の高さが与えられます。i 番目の線の 2 つの端点が (i, 0) と (i, height[i]) になるように描かれた n 本の垂直線があります。

コンテナに最も多くの水が含まれるように、X 軸とともにコンテナを形成する 2 本の線を見つけます。

コンテナに保存できる水の最大量を返します。

容器を傾けないでください。

続きを読む »

[リートコード] 0259.3合計が小さい

n 個の整数 nums の配列と整数ターゲットを指定して、0 を含むインデックス トリプレット i、j、k の数を見つけます。 <= i <j <k 条件 nums[i] + nums[j] + nums[k] を満たす < n <ターゲット。

続きを読む »

【エンジニアインタビュー】ハードウェアサーバー検証エンジニアの体験談共有

訪問者の背景紹介:
1. Wiwynn: サーバー検証エンジニア マシン
2. 学歴:四大経営大学院大学院
3. 仕事内容: 研究開発部門が設計したサーバーサービスの品質検証やデバッグを行い、製品がお客様のニーズや仕様を満たしているか、実際の運用における安定性や正確性を維持します。

続きを読む »

[LeetCode] 0016. 3 最も近い合計

長さ n の整数配列 nums と整数 target を指定すると、合計が target に最も近くなる nums 内の 3 つの整数を見つけます。

3 つの整数の合計を返します。

各入力には正確に 1 つの解があると想定できます。

続きを読む »

[リートコード] 0015.3Sum

整数配列 nums を指定すると、i != j、i != k、j != k、および nums[i] + となるすべてのトリプレット [nums[i], nums[j], nums[k]] を返します。 nums[j] + nums[k] == 0。

ソリューション セットには重複したトリプレットが含まれてはいけないことに注意してください。

続きを読む »

[LeetCode] 0033. 回転ソート配列での検索

昇順にソートされた (個別の値を持つ) 整数配列 nums があります。

関数に渡される前に、nums は未知のピボット インデックス k (1) で回転される可能性があります。 <= k < nums.length) となり、結果の配列は [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums [k-1]] (0 からインデックス付き) たとえば、[0,1,2,4,5,6,7] はピボット インデックス 3 で回転され、[4,5,6,7,0, 1,2]。回転後の配列 nums と整数ターゲットを指定すると、ターゲットが nums 内にある場合はインデックスを返し、nums 内にない場合は -1 を返します。O(log n) を使用してアルゴリズムを作成する必要があります。実行時の複雑さ。

続きを読む »

[LeetCode] 0153. 回転ソート配列の最小値を見つける

たとえば、配列 nums = [0,1,2,4,5,6,7] は次のようになります。

4回回転させた場合は[4,5,6,7,0,1,2]。
7回回転した場合は[0,1,2,4,5,6,7]。

配列 [a[0], a[1], a[2], …, a[n-1]] を 1 回回転すると、配列 [a[n-1], a[0], a になることに注意してください。 [1]、a[2]、…、a[n-2]]。

ソートされた回転配列の一意の要素の数を指定すると、この配列の最小要素を返します。

O(log n) 時間で実行されるアルゴリズムを作成する必要があります。

続きを読む »