TGViewer
PHP | LeetCode PHP | LeetCode @easy_php_task · 1.33K subscribers
Post #900 148
Задача: 423. Reconstruct Original Digits from English
Сложность: medium

Дана строка s, содержащая неупорядоченное английское представление цифр от 0 до 9, верните цифры в порядке возрастания.

Пример:
Input: s = "owoztneoer"
Output: "012"


👨‍💻 Алгоритм:

1⃣Подсчитайте количество каждого символа в строке s с помощью хэш-таблицы или массива, чтобы определить количество каждого символа.

2⃣Используйте уникальные символы, присутствующие только в одном числе (например, 'z' для 0, 'w' для 2, 'u' для 4, 'x' для 6, 'g' для 8), чтобы определить количество этих цифр в строке. Затем определите количество остальных цифр, вычитая уже найденные цифры.

3⃣Соберите найденные цифры в строку в порядке возрастания и верните результат.

😎 Решение:
class Solution {
function originalDigits($s) {
$count = array_fill(0, 26, 0);
foreach (str_split($s) as $letter) {
$count[ord($letter) - ord('a')]++;
}

$out = array_fill(0, 10, 0);
$out[0] = $count[ord('z') - ord('a')];
$out[2] = $count[ord('w') - ord('a')];
$out[4] = $count[ord('u') - ord('a')];
$out[6] = $count[ord('x') - ord('a')];
$out[8] = $count[ord('g') - ord('a')];
$out[3] = $count[ord('h') - ord('a')] - $out[8];
$out[5] = $count[ord('f') - ord('a')] - $out[4];
$out[7] = $count[ord('s') - ord('a')] - $out[6];
$out[9] = $count[ord('i') - ord('a')] - $out[5] - $out[6] - $out[8];
$out[1] = $count[ord('n') - ord('a')] - $out[7] - 2 * $out[9];

$output = '';
for ($i = 0; $i < 10; $i++) {
for ($j = 0; $j < $out[$i]; $j++) {
$output .= $i;
}
}
return $output;
}
}


Ставь 👍 и забирай 📚 Базу знаний
More from @easy_php_task
  1. Oct 16, 2026Задача: 760. Find Anagram Mappings Сложность: easy Вам даны два целочисленных массива nums…
  2. Oct 15, 2026Задача: 474. Ones and Zeroes Сложность: medium Дан массив двоичных строк strs и два целых…
  3. Oct 15, 2026Задача: 1273. Delete Tree Nodes Сложность: medium Дерево, укорененное в узле 0, задано сле…
  4. Oct 14, 2026Задача: 724. Find Pivot Index Сложность: easy Если задан массив целых чисел nums, вычислит…
  5. Oct 14, 2026Задача: 674. Longest Continuous Increasing Subsequence Сложность: easy Дан неотсортированн…
  6. Oct 13, 2026Задача: 899. Orderly Queue Сложность: hard Вам дана строка s и целое число k. Вы можете вы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →