易截截图软件、单文件、免安装、纯绿色、仅160KB

PHP部分常见算法


//1. 用户密码六位数,不能大于六位而不能小于六数,数字值正则为[0-9],请用PHP写出有几种可能性,并做暴力破解;
function dePassword($pwd) {
$tmp = array('000000', '555555', '999999');
for ($i = 0; $i < 3; $i++) {
if ($pwd == $tmp[$i]) return $tmp[$i];
}
return $pwd < $tmp[1] ? getPwd(0, $pwd, $tmp) : getPwd(1, $pwd, $tmp);
}
function getPwd($i, $pwd, $tmp) {
$half = ceil(($tmp[$i] + $tmp[$i + 1]) / 2);
if ($half == $pwd) {
return $half;
} elseif ($half > $pwd) {
return returnI($pwd, $tmp[$i], $half);
} else {
return returnI($pwd, $half, $tmp[$i + 1]);
}
}
function returnI($pwd, $start, $end){
for ($i = $start + 1; $i < $end; $i++) {
if ($i == $pwd) return $i;
}
}
$pwd = '000089';
printf('%06s', dePassword($pwd));
//2.牛年求牛:有一母牛,到4岁可生育,每年一头,所生均是一样的母牛,到15岁绝育,不再能生,20岁死亡,问n年后有多少头牛
function niunum($n) {
static $num = 1;
for ($i = 1; $i <= $n; $i++) {
if ($i >= 4 && $i < 15) {
$num++;
niunum($n - $i);
}
if ($i == 20) $num--;
}
return $num;
}
echo niunum(10);
//3.合并多个数组,不用array_merge(),思路:遍历每个数组,重新组成一个新数组。
function unionArray($a, $b) {
$re = array();
foreach ($a as $v) $re[] = $v;
foreach ($b as $v) $re[] = $v;
return $re;
}
print_r(unionArray(array(1,2,4,5,'s'), array(2,5,7,'c','d')));
/*4.二分法查找
*思路:以数组中某个值为界,再递归进行查找,直到结束。
*/
$a = array(1,4,2,5,6,7,0,8,3);
function find($arr, $start, $end, $key) {
sort($arr);
$mid = ceil(($start + $end) / 2);
if ($arr[$mid] == $key) {
return $mid;
} elseif ($arr[$mid] > $key) {
return find($arr, $start, $mid - 1, $key);
} else {
return find($arr, $mid + 1, $end, $key);
}
}
echo find($a, 0, count($a), 2);
//5.冒泡排序法
function mSort($a) {
$len = count($a);
for ($i = 0; $i < $len - 1; $i++) {
for ($j = $i; $j < $len; $j++) {
if ($a[$i] > $a[$j]) {
$tmp = $a[$i];
$a[$i


相关文档:

关于php性能调优的几条建议

最近在处理小鱼社区的开发过程,遇到程序的性能问题,在解决这个问题的时候提出几个建议:
1、处理while/foreach之类的循环要特别注意,因为这个循环可能是好几千次的,所以里面的每句语句都要注意执行速度,要精简。还有个不好的习惯一定要注意,不要在这个中写太长的程序,因为这可能让你在几百行的代码中迷失,慢慢地迷 ......

MySQL+PHP乱码解决 南三方

 MySQL+PHP产生乱码原因:
◆ MySQL数据库默认的编码是utf8,如果这种编码与你的PHP网页不一致,可能就会造成MySQL乱码;
◆ MySQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MySQL乱码;
◆ MySQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成MySQ ......

Facebook应用PHP开发框架Fabos

国外越来越多的公司开发Facebook应用,至于国内暂且不表,大家心知肚明。还好HK也算是天朝辖区,杯具中也算带有半洗具……开发了几款Facebook应用,总结经验教训,在业余时间开发了一款Facebook应用PHP开发框架——Fabos。
为啥叫Fabos?我有一个fabos域名,被和谐!就算做个纪念,也当做是业余时间 ......

Head First PHP MYSQL 学习随笔 1


1) 
安装Apache/2.2.14 和 PHP/5.2.12 之后,重新启动Apache,启动失败。查了一些资料,基本上给出的建议是禁掉Extension。我就装了一个Extesion Mysqli。
修改php.ini 注释掉这一行,果然生效。
[PHP_MYSQLI]
;extension=php_mysqli.dll
安装完mysql,再重新enable这个配置就好了,估计是依赖某些mysql的库。 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号