群上出的一个算法题,上我的解,大家可以用自己会的语言实现一下哦,我用的php
出个排序题目:$data=
怎么把值为1,2,3,4的数据分成4个数组
如:$data1=
$data1=
$data1=
$data1=
数据上限不定的时候怎么写?就是说不一定是4个数组 有N个,N是未知数
并且最后结果的数组必须是从1开始的一次递增的索引的数组
我的解
Code
<?php
$data=array(1,1,1,1,2,2,2,6,6,2,2,2,2,3,3,3,5,5,5,3,3,3,3,4,4,4,4,4,4,4);
$data1=array();
$data2=array();
$pos=0;
for($i=0;$i<sizeof($data);$i++)
{
if(my_in_array($data[$i],$data2,&$pos))
{
$data1[$pos][]=$data[$i];
}
else{
$data2[]=$data[$i];
$pos=count($data2)-1;
$data1[$pos][]=$data[$i];
}
}
function my_in_array($str,$arr,&$pos)
{
for($j=0;$j<sizeof($arr);$j++)
{
if($str==$arr[$j])
{
$pos=$j;
return true;
}
}
return false;
}
print_r($data1);
print_r($data2);
?>
结果如下:
Array
(
=> Array
(
=> 1
=> 1
=> 1
=> 1
)
=> Array
(
=> 2
=> 2
=> 2
=> 2
=> 2
=> 2
=> 2
)
=> Array
(
=> 6
=> 6
)
=> Array
(
=> 3
=> 3
=> 3
=> 3
=> 3
=> 3
=> 3
)
=> Array
(
=> 5
=> 5
=> 5
)
=> Array
(
=> 4
=> 4
=> 4
=> 4
=> 4
=> 4
=> 4
)
)
Array
(
=> 1
=> 2
=> 6
=> 3
=> 5
=> 4
)
页:
[1]