# String Algorithm Matcher

> Match string problems to appropriate algorithms

- Skill: `a5c-ai/string-algorithm-matcher` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add a5c-ai/string-algorithm-matcher`
- Raw SKILL.md: https://api.skillmd.com/api/skills/a5c-ai/string-algorithm-matcher/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: a5c-ai (https://skillmd.com/u/a5c-ai)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/a5c-ai/string-algorithm-matcher

---


# String Algorithm Matcher Skill

## Purpose

Match string processing problems to the most appropriate algorithms based on requirements and constraints.

## Capabilities

- Pattern matching algorithm selection (KMP, Z, Rabin-Karp)
- Suffix structure selection (array vs tree vs automaton)
- Palindrome detection algorithm selection
- Rolling hash implementation guidance
- String DP technique matching

## Target Processes

- pattern-matching-algorithms
- trie-suffix-structures
- string-processing

## Algorithm Selection Guide

### Single Pattern Matching
| Scenario | Algorithm | Complexity |
|----------|-----------|------------|
| Single pattern | KMP | O(n+m) |
| Multiple patterns | Aho-Corasick | O(n+m+z) |
| Approximate match | Rolling Hash | O(n*m) average |

### Suffix Structures
| Need | Structure | Build Time |
|------|-----------|------------|
| Substring search | Suffix Array | O(n log n) |
| Multiple queries | Suffix Tree | O(n) |
| Subsequence counting | Suffix Automaton | O(n) |

### Palindromes
| Problem | Algorithm |
|---------|-----------|
| Longest palindromic substring | Manacher |
| Palindrome partitioning | DP + Manacher |
| Palindrome queries | Hashing |

## Input Schema

```json
{
  "type": "object",
  "properties": {
    "problemDescription": { "type": "string" },
    "problemType": {
      "type": "string",
      "enum": ["patternMatch", "suffixQueries", "palindrome", "subsequence", "dp"]
    },
    "constraints": { "type": "object" }
  },
  "required": ["problemDescription"]
}
```

## Output Schema

```json
{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "algorithm": { "type": "string" },
    "complexity": { "type": "string" },
    "alternatives": { "type": "array" },
    "implementation": { "type": "string" }
  },
  "required": ["success", "algorithm"]
}
```

