ポインタと参照の基礎

ポインタの基本演算子 C++におけるポインタには2つの主要な演算子があります: *(間接参照演算子):ポインタに適用すると、そのポインタが指すアドレスに格納されている値を取得します。 &(アドレス演算子):変数に適用すると、その変数のメモリアドレスを取得します。 ポインタ自体も変数であるため、ポインタのアドレスを取得することも可能です。このアドレス ...

6月9日 00:28 投稿

データ構造:線形リスト

問題3156 【基礎15.例題1】生徒番号の照会 問題概要 最大2×106人の生徒が教室に入っており、それぞれの生徒番号(1〜109の範囲)が教室に入った順序で与えられる。その後、最大105回にわたって、何番目に教室に入ったかを尋ねる質問が行われる。各質問に対する答えを出力する必要がある。 入力形式 n m s1 s2 ... sn q1 q2 ... qm nは生徒数、mは質問の回数を表す。siはi番 ...

6月8日 22:54 投稿

LeetCodeの代表的なアルゴリズム問題とその解答

LeetCodeの代表的なアルゴリズム問題とそのC++による実装をまとめました。文字列、配列、連結リスト、動的計画法などのトピックを取り上げ、アルゴリズム面接準備や日頃の練習に役立ちます。 目次 文字列処理 配列問題 連結リスト操作 動的計画法 木の走査 1. 文字列処理 1.1 二進数の部分文字列を数える(Count Binary Substrings) 問題説明:与えられた文字列において ...

6月2日 16:49 投稿

Java Arrays.asListが引き起こす3つの典型的な問題

問題1:プリミティブ型配列をリストに変換する際の落とし穴 Arrays.asList()メソッドはジェネリックメソッドであり、その引数はオブジェクトの配列(T[])を期待しています。しかし、Javaのプリミティブ型(int, doubleなど)はオブジェクトではありません。そのため、プリミティブ型の配列をこのメソッドに渡すと、配列全体が単一の要素として扱われてしまいます。 public ...

6月1日 18:33 投稿

C言語における配列操作とアルゴリズムの基礎実装

C言語における配列のメモリレイアウトの理解から、ソートアルゴリズム、進数変換、行列演算といった実用的なアルゴリズムの実装まで、いくつかの例を通して解説します。 1. 配列のメモリレイアウトとアドレス 配列はメモリ上で連続した領域を占有します。以下の例では、1次元配列および2次元配列のアドレスと要素の配置を確認できます。 #include <stdio.h> void i ...

5月31日 02:09 投稿

Java章節摘要と配列演習

1、記事概要 内容 本記事はJava学習の摘要と配列演習の問題を紹介します。 2、章02プロジェクト構造 3、演習問題 問題 配列を用いた基本演習を実装します。 3.1 最小値探し package Practice; public class practice01 { // 主方法main関数 public static void main(String[] args) { int minValue; int[] values = { 4, 1, 6, 3, 9, 8 }; // 定 ...

5月26日 21:26 投稿

データ構造の基礎:配列、リンクリスト、スタック、キューの実装

配列(シーケンシャルリスト) 配列は連続したメモリ領域にデータを格納するデータ構造です。C言語環境では、名前付きのスタック配列または匿名のヒープ配列として実装できます。 配列の設計 配列を操作しやすくするために、専用の「管理構造体」が必要です。この構造体には通常以下の要素が含まれます: 配列の総容量 現在の最後の要素のインデックス位置 配列へのポイ ...

5月23日 18:40 投稿

ArrayListの仕組みと内部実装の詳細解説

ArrayListの概要 ArrayListは、Javaコレクションフレームワークにおいて最も基本的なデータ構造の一つであり、内部的には可変長の配列として実装されています。通常の配列と異なり、要素の追加に応じて動的に容量を拡張できる特性を持っています。大量の要素を追加する予定がある場合は、ensureCapacityメソッドを事前に呼び出すことで、頻繁な配列再割り当てによるパフォ ...

5月20日 14:13 投稿

LeetCode 2960: テスト済みデバイスのカウント問題

長さn、0から始まるインデックスを持つ整数配列batteryPercentagesが与えられ、これはn個のデバイスのバッテリー百分比を表します。 あなたのタスクは、各デバイスiを順番にテストし、以下のテスト操作を実行することです: もしbatteryPercentages[i]が0より大きい場合: テスト済みデバイスのカウントを増やす。 インデックスが[i + 1, n - 1]のすべてのデバイスのバッテ ...

5月19日 14:13 投稿

C言語基礎ガイド:データ型から制御構文まで

データ型とC言語 基数の表示 // 10進数、8進数、16進数で値256を表示 #include <stdio.h> int main(void) { int val = 256; printf("dec=%d; oct=%o; hex=%x\n", val, val, val); printf("dec=%d; oct=%#o; hex=%#x\n", val, val, val); return 0; } 10進数は%d、8進数は%o、16進数は%xで表示します。接頭辞(0, 0x)を表示するには%# ...

5月17日 22:27 投稿