题目24
作者:互联网
身高从低到高 身高相同体重从轻到重 体重相同维持原来顺序 输入 4 100 100 120 130 40 30 60 50 输出: 2 1 3 4 输入 3 90 110 90 45 60 45 输出 1 3 2
思路:
[
[1,100,40],//当作一个整体
[2,100,30],
[3,120,60],
[4,130,50]
];
进行冒泡排序
<?php $n=fgets(STDIN); $h=explode(' ',trim(fgets(STDIN))); $w=explode(' ',trim(fgets(STDIN))); $arr=[]; for($i=0;$i<$n;$i++){ $arr[$i][0]=$i+1; $arr[$i][1]=$h[$i]; $arr[$i][2]=$w[$i]; } solution($arr); function solution($arr) { for ($i = 0; $i < count($arr)-1; $i++) { for ($j=0;$j<count($arr)-$i-1;$j++){ if($arr[$j][1]==$arr[$j+1][1]){ if($arr[$j][2]>$arr[$j+1][2]){ $temp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$temp; } }elseif ($arr[$j][1]>$arr[$j+1][1]){ $temp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$temp; } } } $s=''; foreach ($arr as $v){ $s.=$v[0].' '; } echo $s; }
标签:24,arr,题目,temp,45,60,130,100 来源: https://www.cnblogs.com/weiguomiao/p/16489618.html