Go言語における配列の定義と操作手法
Go言語における配列(Array)は、同一データ型の要素を連続したメモリ領域に格納する複合型です。宣言時点で要素数(長さ)が固定され、実行中に長さを拡張したり型を変更したりすることはできません。個々のデータは要素(Element)と呼ばれ、ゼロベースのインデックスでアクセスします。
宣言と初期化のパターン
標準的な宣言構文は var 変数名 [要素数]型 です。用途に ...
7月6日 00:21 投稿
C言語によるLeetCode 1047と239の実装解説:スタック処理と単調キュー最適化
問題 1047: 隣接する重複文字の完全除去
問題定義
英小文字のみで構成される文字列が引数として渡されます。この文字列に対して、「隣接する同一文字をペアで取り除く」という演算を繰り返し適用します。すべての演算が行き詰まった時点で残っている文字列を返却してください。解答は一意に決まります。
入力例: "abbaca" → 出力: "ca"
制約条件: 文字列長は [1, 20000] ...
7月5日 22:28 投稿
スタックとキューを用いたデータ構造の実装と文字列処理
スタックによるキューの実装
2つのスタックを使用してキューの操作を実現します。入力用スタックと出力用スタックを用意し、要素の追加と取り出しを効率的に行います。
class QueueWithStacks {
private:
std::stack<int> inputStack;
std::stack<int> outputStack;
public:
void enqueue(int value) {
inputStack.push(value);
...
7月4日 22:11 投稿
競技プログラミングにおける代表的アルゴリズムテンプレート集
高精度計算
トライ木を用いたA+B
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
using namespace std;
struct TrieNode {
int children[26];
int value;
} nodes[1000];
char buffer[100];
int nodeCount = 0, totalNodes = 0, resultSum = 0;
bool negativeFlag;
void insertNumber() {
int cur ...
7月3日 20:44 投稿
C言語における基本的な配列操作とアルゴリズムの実装
本記事では、C言語における配列の基本的なメモリ構造、各種の配列操作、そしていくつかのデータ処理アルゴリズムについて、具体的なコード例を交えながら解説します。一次元配列から多次元配列まで、またデータの入出力、変換、ソートといった基礎的ながらも重要なテクニックを習得することを目的とします。
配列のメモリ配置の確認
C言語において、配列の要素はメモリ上 ...
7月2日 23:10 投稿
オンラインジャッジ向けGo言語構文ガイド
Javaとの主な構文の違い:
1) ++iは存在せず、i++のみ使用可能。whileループはなく、「for 条件」で代替。未使用の変数は定義不可。
整数型のmax、min、abs関数は標準で提供されていない。
2) 配列のサイズが定数でない場合、makeキーワードを使用してsliceを定義する必要がある。
クラスはなく、funcのみ存在。クラスに相当するものはstructキーワードで定義する。 ...
7月2日 18:47 投稿
C++でのファイルI/Oとデータソートの実験
タスク1:コンテスト参加者データの処理
このタスクでは、コンテスト参加者の情報を含むファイルを読み込み、特定のルールでソートし、結果を表示および保存するプログラムを作成します。
1. ソースコード
(1) participant.hpp
#pragma once
#include <iomanip>
#include <iosfwd>
#include <string>
struct Participant {
long student_id; ...
7月2日 17:16 投稿
C言語による循環キューの実装
循環キューとは
循環キューは線形データ構造の一種で、FIFO(先入れ先出し)原則に基づく操作を提供します。通常のキューと異なり、末尾要素が先頭要素に接続されて環状構造を形成するため、リングバッファとも呼ばれます。
循環キューの利点
従来のキューでは領域が満杯になると追加操作が不可能でしたが、循環キューでは先頭側の未使用領域を再利用できるため、メモリ効 ...
7月1日 00:16 投稿
牛客週間コンテスト 第5回
牛客週間コンテスト 第5回
A-游游の文字変換
#include <iostream>
#include <string>
using namespace std;
int main() {
string input;
cin >> input;
for (size_t i = 0; i < input.length(); ++i) {
char current = input[i];
if (current >= 'A' && current < 'Z') {
input[i] = cu ...
7月1日 00:04 投稿
最小サイズの連続部分配列の探索
問題定義
n個の正の整数からなる配列と正の整数sが与えられたとき、要素の合計がs以上となる連続する部分配列のうち最小の長さを求める。条件を満たす部分配列が存在しない場合は0を返す。
例:
入力: s = 7, nums = [2,3,1,2,4,3]
出力: 2
説明: 部分配列[4,3]が条件を満たす最小長の連続部分配列
解法アプローチ
総当たり法
最も単純な方法は二重ループを用いた総当 ...
6月30日 23:57 投稿