没有合适的资源?快使用搜索试试~ 我知道了~
首页3年php面试经验总结
3年php面试经验总结
需积分: 29 54 下载量 138 浏览量
更新于2023-03-16
评论 2
收藏 2.07MB PDF 举报
3年php开发者面试经验总结,包括常用算法php语言实现,php基础知识,网络知识
资源详情
资源评论
资源推荐
3
年
PHPer
的
面
试
总
结
6
个
月
前
() ⋅ 14036 ⋅ 35 ⋅ 14
/**
*
反
转
数
组
* @param array $arr
* @return array
*/
function reverse($arr)
{
$n = count($arr);
$left = 0;
$right = $n - 1;
while ($left < $right) {
$temp = $arr[$left];
$arr[$left++] = $arr[$right];
$arr[$right--] = $temp;
}
return $arr;
}
算
法
#
1.
反
转
函
数
的
实
现
#
2.
两
个
有
序
int
集
合
是
否
有
相
同
元
素
的
最
优
算
法
#
/**
*
寻
找
两个
有
序
数
组
里
相
同
的
元
素
* @param array $arr1
* @param array $arr2
* @return array
*/
function find_common($arr1, $arr2)
{
$common = array();
$i = $j = 0;
$count1 = count($arr1);
$count2 = count($arr2);
while ($i < $count1 && $j < $count2) {
if ($arr1[$i] < $arr2[$j]) {
$i++;
} elseif ($arr1[$i] > $arr2[$j]) {
$j++;
} else {
$common[] = $arr[$i];
$i++;
$j++;
}
}
return array_unique($common);
}
/**
*
打
乱
数
组
* @param array $arr
* @return array
*/
function custom_shuffle($arr)
{
$n = count($arr);
for ($i = 0; $i < $n; $i++) {
$rand_pos = mt_rand(0, $n - 1);
if ($rand_pos != $i) {
$temp = $arr[$i];
$arr[$i] = $arr[$rand_pos];
$arr[$rand_pos] = $temp;
}
}
return $arr;
}
3.
将
一
个
数
组
中
的
元
素随
机
(
打
乱
)
#
4.
给
一
个
有
数
字
和
字
母
的
字
符
串
,
让
连
着
的
数
字
和
字
母
对
应
#
function number_alphabet($str)
{
$number = preg_split('/[a-z]+/', $str, -1, PREG_SPLIT_NO_EMPTY);
$alphabet = preg_split('/\d+/', $str, -1, PREG_SPLIT_NO_EMPTY);
$n = count($number);
for ($i = 0; $i < $count; $i++) {
echo $number[$i] . ':' . $alphabet[$i] . '</br>';
}
}
$str = '1a3bb44a2ac';
number_alphabet($str);//1:a 3:bb 44:a 2:ac
思
路
:
1.
(
质
数
筛
选
定
理
)
n
不
能
够
被不
大
于
根
号
n
的
任
何
质
数
整
除
,
则
n
是
一
个
质
数
2.
除
了
2
的
偶
数
都
不
是
质
数
代
码
如
下
:
/**
*
求
n
内
的
质
数
* @param int $n
* @return array
*/
function get_prime($n)
{
$prime = array(2);//2
为
质
数
for ($i = 3; $i <= $n; $i += 2) {//
偶
数
不
是
质
数
,
步
长
可
以
加
大
$sqrt = intval(sqrt($i));//
求
根
号
n
for ($j = 3; $j <= $sqrt; $j += 2) {//i
是
奇
数
,
当
然
不
能
被
偶
数整
除
,
步
长
也
可
以
加
if ($i % $j == 0) {
break;
}
}
if ($j > $sqrt) {
array_push($prime, $i);
}
}
return $prime;
}
print_r(getPrime(1000));
5.
求
n
以
内
的
质
数
(
质
数
的定
义
:
在
大
于
1
的
自
然
数
中
,
除
了
1
和
它
本
身
意
外
,
无
法
被
其
他
自
然
数
整
除的
数
)
#
6.
约
瑟
夫
环
问题
#
相
关
题
目
:
一
群
猴
子
排
成
一
圈
,
按
1,2,…,n
依
次
编
号
。
然
后
从第
1
只
开
始数
,
数
到第
m
只
,
把
它
踢
出
圈
,
从
它
后
面
再
开
始数
,
再
数
到第
m
只
,
在
把
它
踢
出
去
…
,
如
此
不
停
的
进
行下
去
,
直
到
最
后
只
剩
下
一
只
猴
子
为
止
,
那
只
猴
子
就
叫
做
大
王
。
要
求
编程
模拟
此
过
程
,
输
入
m
、
n,
输
出
最
后
那
个
大
王
的
编
号
。
/**
*
获
取
大
王
* @param int $n
* @param int $m
* @return int
*/
function get_king_mokey($n, $m)
{
$arr = range(1, $n);
$i = 0;
while (count($arr) > 1) {
$i++;
$survice = array_shift($arr);
if ($i % $m != 0) {
array_push($arr, $survice);
}
}
return $arr[0];
}
思
路
:
假
设
最
前
面
的
1000
个
数
为
最
小
的
,
算
出
这
1000
个
数
中
最
大的
数
,
然
后和
第
1001
个
数
比
较
,
如
果
这
最
大
的
数
比
这
第
1001
个
数
小
的
话
跳
过
,
如
果
要
比
这
第
1001
个
数
大
则
将
两
个
数
交
换
位
置
,
并
算
出
新
的
1000
个
数
里
面
的
最
大
数
,
再
和
下
一
个
数
比
较
,
以
此
类
推
。
代
码
如
下
:
7.
如
何
快
速
寻
找
一
个
数
组
里
最
小
的
1000
个
数
#
//
寻
找
最
小
的
k
个
数
//
题
目
描
述
//
输
入
n
个
整数
,
输
出其
中
最
小
的
k
个
。
/**
*
获
取
最
小
的
k
个
数
* @param array $arr
* @param int $k [description]
* @return array
*/
function get_min_array($arr, $k)
{
$n = count($arr);
$min_array = array();
for ($i = 0; $i < $n; $i++) {
if ($i < $k) {
$min_array[$i] = $arr[$i];
} else {
if ($i == $k) {
$max_pos = get_max_pos($min_array);
$max = $min_array[$max_pos];
}
if ($arr[$i] < $max) {
$min_array[$max_pos] = $arr[$i];
$max_pos = get_max_pos($min_array);
$max = $min_array[$max_pos];
}
}
}
return $min_array;
}
/**
*
获
取
最
大
的
位
置
* @param array $arr
* @return array
*/
function get_max_pos($arr)
{
$pos = 0;
for ($i = 1; $i < count($arr); $i++) {
if ($arr[$i] > $arr[$pos]) {
$pos = $i;
}
}
return $pos;
}
剩余28页未读,继续阅读
基督山副伯爵
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0