<?php
$arr1 = array(2,3,4,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12); $arr2 = array(2,2,3,3,4,4,5,5,6,7,8,9,10,11,12); $arr3 = array(0,1,2,2,3,3,4,4,5,5,6,7,8,9,10,11,12);
//數列1
$result = repeat_worker($arr1);
echo " ".implode(',', $arr1)."\n => "; //數列2
$result = repeat_worker($arr2);
echo " ".implode(',', $arr2)."\n => "; //數列3
$result = repeat_worker($arr3);
echo " ".implode(',', $arr3)."\n => ";
function repeat_worker($arr) {
while(count($arr) !== 0) { $check = '';
if ($current === $check) {
$tmp[] = $current;
} else {
$result[] = $current;
$check = $current;
}
}
}
$insert_key = isset($tmp[0]) ?
$tmp[0] : false; if ($insert_key !== false) {
}
return $result;
}
PD9waHAKJGFycjEgPSBhcnJheSgyLDMsNCw1LDYsNiw3LDcsOCw4LDksOSwxMCwxMCwxMSwxMSwxMiwxMik7CiRhcnIyID0gYXJyYXkoMiwyLDMsMyw0LDQsNSw1LDYsNyw4LDksMTAsMTEsMTIpOwokYXJyMyA9IGFycmF5KDAsMSwyLDIsMywzLDQsNCw1LDUsNiw3LDgsOSwxMCwxMSwxMik7CgovL+aVuOWIlzEKJHJlc3VsdCA9IHJlcGVhdF93b3JrZXIoJGFycjEpOwplY2hvICIgICAgIi5pbXBsb2RlKCcsJywgJGFycjEpLiJcbiA9PiAiOwplY2hvIGltcGxvZGUoJywnLCAkcmVzdWx0KS4iXG4iOwovL+aVuOWIlzIKJHJlc3VsdCA9IHJlcGVhdF93b3JrZXIoJGFycjIpOwplY2hvICIgICAgIi5pbXBsb2RlKCcsJywgJGFycjIpLiJcbiA9PiAiOwplY2hvIGltcGxvZGUoJywnLCAkcmVzdWx0KS4iXG4iOwovL+aVuOWIlzMKJHJlc3VsdCA9IHJlcGVhdF93b3JrZXIoJGFycjMpOwplY2hvICIgICAgIi5pbXBsb2RlKCcsJywgJGFycjMpLiJcbiA9PiAiOwplY2hvIGltcGxvZGUoJywnLCAkcmVzdWx0KS4iXG4iOwoKZnVuY3Rpb24gcmVwZWF0X3dvcmtlcigkYXJyKSB7CgkkcmVzdWx0ID0gYXJyYXkoKTsKCXdoaWxlKGNvdW50KCRhcnIpICE9PSAwKSB7CgkJJGNoZWNrID0gJyc7CgkJJHRtcCA9IGFycmF5KCk7CgkJd2hpbGUgKCgkY3VycmVudCA9IGFycmF5X3NoaWZ0KCRhcnIpKSAhPT0gbnVsbCkgewoJCQlpZiAoJGN1cnJlbnQgPT09ICRjaGVjaykgewoJCQkJJHRtcFtdID0gJGN1cnJlbnQ7CgkJCX0gZWxzZSB7CgkJCQkkcmVzdWx0W10gPSAkY3VycmVudDsKCQkJCSRjaGVjayA9ICRjdXJyZW50OwoJCQl9CgkJfQoJfQoJJGluc2VydF9rZXkgPSBpc3NldCgkdG1wWzBdKSA/ICR0bXBbMF0gOiBmYWxzZTsKCWlmICgkaW5zZXJ0X2tleSAhPT0gZmFsc2UpIHsKCQkkcG9zID0gYXJyYXlfc2VhcmNoKCRpbnNlcnRfa2V5LCAkcmVzdWx0KTsKCQkkcmlnaHRfYXJyID0gYXJyYXlfc3BsaWNlKCRyZXN1bHQsICRwb3MpOwoJCSRyZXN1bHQgPSBhcnJheV9tZXJnZSgkcmVzdWx0LCAkdG1wLCAkcmlnaHRfYXJyKTsKCX0KCXJldHVybiAkcmVzdWx0Owp9
2,3,4,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12
=> 2,3,4,5,6,7,8,9,10,11,12,6,7,8,9,10,11,12
2,2,3,3,4,4,5,5,6,7,8,9,10,11,12
=> 2,3,4,5,2,3,4,5,6,7,8,9,10,11,12
0,1,2,2,3,3,4,4,5,5,6,7,8,9,10,11,12
=> 0,1,2,3,4,5,2,3,4,5,6,7,8,9,10,11,12