Permutation Matching Under Parikh Budgets: Linear-Time Detection, Packing, and Disjoint Selection
By: MD Nazmul Alam Shanto, Md. Tanzeem Rahat, Md. Manzurul Hasan
We study permutation (jumbled/Abelian) pattern matching over a general alphabet $Σ$. Given a pattern P of length m and a text T of length n, the classical task is to decide whether T contains a length-m substring whose Parikh vector equals that of P . While this existence problem admits a linear-time sliding-window solution, many practical applications require optimization and packing variants beyond mere detection. We present a unified sliding-window framework based on maintaining the Parikh-vector difference between P and the current window of T , enabling permutation matching in O(n + σ) time and O(σ) space, where σ = |Σ|. Building on this foundation, we introduce a combinatorial-optimization variant that we call Maximum Feasible Substring under Pattern Supply (MFSP): find the longest substring S of T whose symbol counts are component-wise bounded by those of P . We show that MFSP can also be solved in O(n + σ) time via a two-pointer feasibility maintenance algorithm, providing an exact packing interpretation of P as a resource budget. Finally, we address non-overlapping occurrence selection by modeling each permutation match as an equal-length interval and proving that a greedy earliest-finishing strategy yields a maximum-cardinality set of disjoint matches, computable in linear time once all matches are enumerated. Our results provide concise, provably correct algorithms with tight bounds, and connect frequency-based string matching to packing-style optimization primitives.
Similar Papers
Inapproximability of Counting Permutation Patterns
Data Structures and Algorithms
Makes counting patterns in data much faster.
Permutation patterns in streams
Data Structures and Algorithms
Finds hidden number patterns in fast-moving lists.
Quantum Pattern Matching with Wildcards
Data Structures and Algorithms
Finds hidden words faster, even with missing letters.