D81 520. 資本の検出
質問リンク
質問分析
与えられた単語の大文字小文字が正しいかどうかを判断します。
アイデア
特定の単語がすべて大文字またはすべて小文字である場合、それは正しい使用法です。
array_count_values の結果と、すべて大文字またはすべて小文字を含む配列を使用して、差分セットを計算します。結果が空のセットの場合、それはすべて大文字またはすべて小文字を意味します。直接 true を返すだけです。
すべて大文字とすべて小文字を除き、最初の文字のみを大文字にすることができ、残りの文字は小文字になります。
したがって、最初の文字を除外し、残りの文字がすべて小文字であるかどうかを判断します。判定方法は従来通りです。 (phpビデオチュートリアル)
最終コード
<?php class Solution { /** * @param String $word * @return Boolean */ function detectCapitalUse($word) { $wordArray = str_split($word); $uppercase = str_split('ABCDEFGHIJKLMNOPQRSTUVWXYZ'); $lowercase = str_split('abcdefghijklmnopqrstuvwxyz'); //all upper or lower case if(!array_diff_key(array_count_values($wordArray),array_flip($uppercase)) ||!array_diff_key(array_count_values($wordArray),array_flip($lowercase))){ return true; } //first letter whatever case, //rest of the string must be all lowercase array_shift($wordArray); if(!array_diff_key(array_count_values($wordArray),array_flip($lowercase))){ return true; } return false; } }
以上がLeetcode PHP题解--D81 520. 資本の検出の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。