Рубрики
Uncategorized

Проблема с PHP–кодом Leetcode-D5 804. Уникальные Слова Азбуки Морзе

Автор оригинала: David Wong.

Ссылки на Темы

804. Уникальные Слова Азбуки Морзе

Анализ темы

В этом разделе требуется вычислить, сколько различных кодов Морзе существует после преобразования строк в заданном массиве в коды Морзе.

размышляющий

Первый шаг-преобразовать строку в азбуку Морзе.

$morse = [
    ".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--",
    "-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."
];
$replaced = [];
foreach($words as $word){
    $chars = str_split($word);
    $string = '';
    foreach($chars as $char){
        $string .= $morse[ord($char)-ord('a')];
    }
}

После завершения преобразования он сохраняется в массиве и исключается функцией array_unique. Затем подсчет исключает результат.

Окончательный код

php
class Solution {
    function uniqueMorseRepresentations($words) {
        $morse = [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."];
        $replaced = [];
        foreach($words as $word){
            $chars = str_split($word);
            $string = '';
            foreach($chars as $char){
                $string .= $morse[ord($char)-ord('a')];
            }
            $replaced[] = $string;
        }
        return count(array_unique($replaced));
    }
}

Если вы считаете, что эта статья полезна для вас, вы можете воспользоваться Фондом генерации энергии Ии.

Схема оптимизации

  • Ключи, хранящиеся непосредственно в виде массивов, могут сохранить шаги по удалению дублирования с помощью array_unique.