相关疑难解决方法(0)

PHP函数的Big-O列表

在使用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)

php arrays algorithm performance big-o

332
推荐指数
3
解决办法
7万
查看次数

找出anagram是否是回文的最佳算法是什么?

在这个问题中,我们只考虑小写英文字母(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.

language-agnostic algorithm

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

algorithm ×2

arrays ×1

big-o ×1

language-agnostic ×1

performance ×1

php ×1