Назад към всички

string-algorithm-matcher

// Match string problems to appropriate algorithms

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namestring-algorithm-matcher
descriptionMatch string problems to appropriate algorithms
allowed-toolsRead,Write,Grep,Glob

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

ScenarioAlgorithmComplexity
Single patternKMPO(n+m)
Multiple patternsAho-CorasickO(n+m+z)
Approximate matchRolling HashO(n*m) average

Suffix Structures

NeedStructureBuild Time
Substring searchSuffix ArrayO(n log n)
Multiple queriesSuffix TreeO(n)
Subsequence countingSuffix AutomatonO(n)

Palindromes

ProblemAlgorithm
Longest palindromic substringManacher
Palindrome partitioningDP + Manacher
Palindrome queriesHashing

Input Schema

{
  "type": "object",
  "properties": {
    "problemDescription": { "type": "string" },
    "problemType": {
      "type": "string",
      "enum": ["patternMatch", "suffixQueries", "palindrome", "subsequence", "dp"]
    },
    "constraints": { "type": "object" }
  },
  "required": ["problemDescription"]
}

Output Schema

{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "algorithm": { "type": "string" },
    "complexity": { "type": "string" },
    "alternatives": { "type": "array" },
    "implementation": { "type": "string" }
  },
  "required": ["success", "algorithm"]
}