当前位置:首页 » 编程语言 » php算法题

php算法题

发布时间: 2022-07-10 14:45:57

php求最大连续出现次数的算法,见问题详细

<?php
//Code by jhk
function get_array_repeats(array $array,$string) {
/*
函数说明:计算$string在$array(需为数组)中重复出现的次数.
*/
$count = array_count_values($array);
foreach ($count as $key => $value) {
if ($key = $string) {
return $value;
}
}
}
?>

㈡ PHP算法:知道具体年月日求本周从几号到几号

function
weekStartEnd($y,
$m,
$d)
{
$d
=
date("$y-$m-$d
00:00:00");
$s
=
strtotime
($d);
$w
=
date('w',
strtotime($d));
//
得到指定日期是星期几
$add1
=
0
-
$w;
//
周日,和指定日期相差的天数
$add2
=
6
-
$w;
//
周六,和指定日期相差的天数
$s1
=
strtotime("$add1
days",
$s);
$s2
=
strtotime("$add2
days",
$s);
return
array(
'start'
=>
date("Y年m月
d日
",
$s1),
'end'
=>
date("Y年m月d日",
$s2)
);
}
$test
=
weekStartEnd(2010,
1,
14);
echo
"周开始日:
".$test['start']."\n";
echo
"周结束日:
".$test['end']."\n";
结果
周开始日:
2010年01月10日
周结束日:
2010年01月16日

㈢ php几种排序算法实例详解

下面给你介绍四种排序方法:

1) 插入排序(Insertion Sort)的基本思想是:
每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。实现代码如下:

㈣ php的这个算法答案是什么 6%345:32a=

6%3?45:32a?=
这是完整的表达式么?应该不对吧?
6%3结果为0, 0为假,取 : 后面的值

㈤ php算法编程 计算天数

<?php
$start='2017-2-5';
$end='2018-3-6';
functioncalDate($start,$end){
$start_time=strtotime($start); //获得$start的秒时间戳
$end_time=strtotime($end); //获得$end的秒时间戳
return($end_time-$start_time)/60/60/24; //秒时间戳相减得到两个日期相差的秒数,通过秒数计算天数
}
echocalDate($start,$end);
?>

㈥ PHP数组算术题,谁做得多就给谁

//第一题:

//**************************************************************

$str='1,2,3,4,5,6'; //你给定的字符串
function my($str){
$item_arr=explode(',',$str);
shuffle($item_arr);
if($item_arr[3]==5){
return my($str);
}else{
for($i=0;$i<sizeof($item_arr);$i++){
if($item_arr[$i]==5 && next($item_arr)==6){
return my($str);
exit();
}
}
return $item_arr;
}
}
print_r(my($str));

//*********************************************第二题

$str="aaaabsfdsfavdchjs"; //你给出的字符串
$item=str_split($str);
$a=array_count_values($item);
foreach($a as $k=>$v){
if($v==1){
echo $k;
exit();
}
}

//*****************************************第三题

$str='12,65,110,2,3,55,79,10,45'; //这是你给定的数字字符串
$item_arr=explode(',',$str);
while(sizeof($item_arr)>0){
$max=max($item_arr);
$min=min($item_arr);
echo $max."<br/>";
echo $min."<br/>";
$max_pos=array_keys($item_arr,$max);
$min_pos=array_keys($item_arr,$min);
unset($item_arr[$max_pos[0]]);
unset($item_arr[$min_pos[0]]);
}

//****************************************第四题

$num=1234567890; //你给定的数字
echo number_format($num);

/******************************************第五题

$filename='abc.exe.jpg';
$item=pathinfo($filename);
echo $item['extension'];

/*******************************************第六题


/*****************************************第七,八题
第七第八题重复.

可以使用array_multisort()函数对二维数组进行排序

/*****************************************第9题

$str_low='abcdefghijklmnopqrstuvwxyz';
$str_upp='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$arr_low=str_split($str_low);
$arr_upp=str_split($str_upp);
$str= 'A journey of a thousand miles must begin with a single step.'; //你给出的字符串
$a=str_word_count($str,1);
foreach($a as $k=>$v){
$item=substr($v,-1,1);
if(in_array($item,$arr_low)){ //小写的情况
if(strlen($v)==1){
$item=strtoupper($v);
echo $item." ";
}else{
$item=strtoupper($item);
$item_str=substr($v,0,strlen($v)-1);
$item_str=$item_str.$item;
echo $item_str." ";
}
}elseif(in_array($item,$arr_upp)){ //大写的情况
if(strlen($v)==1){
$item=strtolower($v);
echo $item." ";
}else{
$item=strtoupper($item);
$item_str=substr($v,0,strlen($v)-1);
$item_str=$item_str.$item;
echo $item_str." ";
}
}

}

/********************************************第十题
已经看了N遍,仍然无法理解题目意思

/********************************************第十一题

$data=array(23,22,45,28);
$a=implode('',$data);
$b=str_split($a);
print_r($b);

/********************************************第十二题

体力不支,让大家打吧.

㈦ php算法题

$m = 100;
$n = 11;
echo getKing($m,$n);
function getKing($n, $m)
{
//强制转换为数值型
$n = intval($n);
$m = intval($m); //让猴子排好队
for($i=0; $i < $n; $i++)
{
$monkeys[$i] = $i+1;
}
$start = 0;//初始化开始位置
$step = $m - 1;
for($i=0; $i < $n; $i++)
{
//判断猴子的个数,如果只剩一个就直接返回这只猴子
$num_monkey = count($monkeys);
if($num_monkey === 1) return $monkeys[0]; //如果这一圈找不到要踢的猴子,就在下一圈找到要踢的猴子
if($start + $step >= $num_monkey)
{
$start = ($step+$start)%$num_monkey;
} else
{
//这一圈找到就直接踢它
$start = $start + $step;
}
unset($monkeys[$start]); //踢猴子
sort($monkeys); //让猴子重新站好
}
}

㈧ php算法题 有 4 个项⽬组

$team=array('a'=>10,'b'=>7,'c'=>5,'d'=>4);
for($i=1;$i<121;$i++){
$max=max($team);
foreach($team as &$v){
if($max==$v){
$v-=3;
}else{
$v++;
}
}}

㈨ php若干数组组合算法

$a=array ( '黑色','白色' );
$b=array ( '36码' ,'37码' );
$c=array ( '男款' ,'女款' );

$d = array();
foreach ($a as $i => $_a ){
foreach ($b as $ii => $_b ){
foreach ($c as $iii => $_c ){
$d[] = $_a.$_b.$_c;
}
}
}
print_r($d);

Array
(
[0] => 黑色36码男款
[1] => 黑色36码女款
[2] => 黑色37码男款
[3] => 黑色37码女款
[4] => 白色36码男款
[5] => 白色36码女款
[6] => 白色37码男款
[7] => 白色37码女款
)

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:235
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726