在使用PHP一段时间后,我注意到并非所有PHP内置函数都如预期的那样快.考虑下面两个可能的函数实现,它使用缓存的素数数组来查找数字是否为素数.
//very slow for large $prime_array
$prime_array = array( 2, 3, 5, 7, 11, 13, .... 104729, ... );
$result_array = array();
foreach( $prime_array => $number ) {
$result_array[$number] = in_array( $number, $large_prime_array );
}
//speed is much less dependent on size of $prime_array, and runs much faster.
$prime_array => array( 2 => NULL, 3 => NULL, 5 => NULL, 7 => NULL,
11 => NULL, 13 => NULL, .... 104729 => NULL, ... );
foreach( $prime_array => $number ) …
Run Code Online (Sandbox Code Playgroud) 在这个问题中,我们只考虑小写英文字母(az)的字符串.
如果字符串从左到右从右到左遍历时具有完全相同的字符序列,则该字符串是回文结构.例如,以下字符串是回文:
"皮艇"
"codilitytilidoc"
"neveroddoreven"
字符串A是字符串B的字谜,如果它由完全相同的字符组成,但可能是另一种顺序.例如,以下字符串是彼此的字谜:
A ="mary"B ="army"A ="rocketboys"B ="octobersky"A ="codility"B ="codility"
写一个函数
int isAnagramOfPalindrome(String S);
如果字符串s是某些回文的字谜,则返回1,否则返回0.
例如,你的函数应该为参数"dooernedeevrvn"返回1,因为它是回文"anoddoddoreven"的字谜.对于参数"aabcba",您的函数应返回0.