C ラングージにおけるポインタ操作と文字列処理の実践ガイド

ポインタによるデータ範囲の解析 メモリアドレスを直接扱うことで、関数呼び出し内で変数の状態を変更する手法について確認します。ここでは、整数配列から最小値と最大値を取得する処理を実装し、参照渡しの仕組みを理解します。 #include <stdio.h> #include <stdlib.h> #define DATA_SIZE 5 void read_data(int target_array[], int count); void print_ ...

7月22日 23:08 投稿

スタック構造を活用したアルゴリズム問題の解法集

1. 隣接する重複文字の削除 問題概要 文字列内で連続する同じ文字をすべて削除した結果を返します。 解法のポイント 各文字を順番に確認し、直前の文字と比較して同じであれば削除、異なれば保持します。この操作はスタックの「後入れ先出し」特性と一致します。実際にスタックオブジェクトを使用すると最終的な文字列構築が面倒なため、配列を使ってスタック動作をシミュ ...

7月19日 18:51 投稿

Pythonで最も長い回文部分文字列を検索する方法

問題定義 最も長い回文部分文字列とは、対称的な構造を持つ文字列のことです。例えば、文字列 s = "ababd" の場合、"aba" や "bab" が回文として該当します。 解決方針 最初の考えでは、括弧のマッチングのようなアプローチを使用し、スタックで要素を「ペア消去」することで回文を判定しようと考えました。しかし実際には「対称軸」の位置が固定されておらず、前方の消 ...

6月6日 21:19 投稿

コーディングテスト演習(一)——Codeforces 784B Santa Claus and Keyboard Check

はじめに 最近、コーディングテストの準備をしており、練習問題をまとめています。 元々はC言語の経験しかありませんでしたが、実際に使用会发现C++の方がテストに向いています。ライブラリ関数も豊富で、より多くの操作をサポートでき、コードを簡潔に記述できます。 例えば、C言語で文字列を定義するにはchar s[1000]が必要ですが、C++ではstring sだけで済みます。 問 ...

5月29日 16:25 投稿