La soluzione ingenua è generare l'insieme di sottostringhe / sottostringhe e controllare ciascuna per la proprietà, ma ciò è molto inefficiente. Esiste un algoritmo generale che offre prestazioni migliori senza saperne di più sui dati o sui criteri stessi?
Le sottostringhe verrebbero definite come sottoinsiemi contigui. Ad esempio, "123" darebbe "1", "2", "3", "12", "23" e "123". La proprietà potrebbe essere qualsiasi cosa riguardante i valori del sottoinsieme, ad esempio il prodotto dei valori (quando convertito in ints) è uguale a qualche valore.