<?php require __DIR__ . '/../../_common.php'; echo PatternToNumber('AGT'); echo '<hr>'; echo PatternToNumberOptimized('GAATGGAACCATTAATCGTG'); echo '<hr>'; echo NumberToPattern(5437, 8); echo '<hr>'; echo NumberToPatternOptimized(7551, 7);
function FrequentWordsBySorting($str, $k) { // Split it in substrings if ($k > strlen($str)) { return ''; } $values = array(); $times = array(); for ($i = 0; $i <= strlen($str) - $k; $i++) { $key = PatternToNumber(substr($str, $i, $k)); $values[] = $key; if (isset($times[$key])) { $times[$key]++; } else { $times[$key] = 1; } } $solution = array_keys($times, max($times)); $values = array(); foreach ($solution as $_solution) { $values[] = NumberToPatternOptimized($_solution, $k); } return implode(' ', $values); }