21,886
社区成员
发帖
与我相关
我的任务
分享
function solution($A, $S) {
// write your code in PHP5.3
$len = count($A);
$slice = -1;
for ($begin=0; $begin<$len;$begin++)
{
$total = 0;
for ($end = $begin; $end < $len; $end ++)
{
$total = $total + $A[$end];
if ($total == $S)
{
$temp = $end - $begin +1;
if ($temp > $slice)
{
$slice = $temp;
}
}
}
}
return $slice;
}
function solution($A) {
// write your code in PHP5.3
$arr = array();
$len = count($A);
$check = false;
for ($i=0;$i<$len-1;$i++)
{
$arr = $A;
for ($j=$i+1;$j<$len;$j++)
{
$temp = $arr[$j];
$arr[$j] = $arr[$i];
$arr[$i] = $temp;
$no_decrease = true;
for ($k=1;$k< $len;$k++)
{
if ($arr[$k]<$arr[$k-1])
{
$no_decrease = false;
}
}
if ($no_decrease == true)
{
$check = true;
}
}
}
return $check;
}
var_dump(solution([1,0,-1,1,1,-1,-1], 2));
function solution($A, $S) {
$len = count($A);
$slice = -1;
for ($begin=0; $begin<$len; $begin++) {
$total = 0;
array_walk($A, function($v, $end, $S) use ($begin, &$slice, &$total) {
if($end < $begin) return;
$total += $v;
if($total == $S) {
$temp = $end - $begin + 1;
if ($temp > $slice) $slice = $temp;
}
}, $S);
}
return $slice;
}
var_dump(solution([1,3,5,3,7]));
var_dump(solution([1,3,5,3,4]));
function solution($A) {
$arr = array();
$len = count($A);
$check = 0;
for($i=0;$i<$len-1;$i++) {
if($A[$i+1] < $A[$i]) {
$temp = $A[$i+1];
$A[$i+1] = $A[$i];
$A[$i] = $temp;
if($i > 0 && $A[$i-1] <= $A[$i]) $check++;
}
}
return $check == 1;
}
bool(true)
bool(false)
var_dump(solution([1,3,5,3,7]));
var_dump(solution([1,3,5,3,4]));
var_dump(solution([1,6,3,4,3,7]));
var_dump(solution([1,6,5,3,3,4,7]));
function solution($A) {
$arr = array();
$len = count($A);
$check = 0;
for($i=0;$i<$len-1;$i++) {
if($A[$i+1] < $A[$i]) { //如果降序
$flag = 0;
for($j=$i+1; $j<$len-1; $j++) { //向后找到符合升序的位置
if($A[$i] < $A[$j+1]) {
$flag = 1;
break;
}
}
$temp = $A[$j]; //交换
$A[$j] = $A[$i];
$A[$i] = $temp;
if($i > 0 && $A[$i-1] <= $A[$i]) $check++; //交换成功
else return false; //交换失败
if(! $flag) $i--; // $flag = 0 表示前面的查找是自然结束的,有待商榷
}
}
return $check == 1;
}
var_dump(solution([1,3,5,3,7]));
var_dump(solution([1,3,5,3,4]));
var_dump(solution([1,6,3,4,3,7]));
function solution($A) {
$arr = array();
$len = count($A);
$check = 0;
for($i=0;$i<$len-1;$i++) {
if($A[$i+1] < $A[$i]) {
$flag = 0;
for($j=$i+1; $j<$len-1; $j++) {
if($A[$i] < $A[$j+1]) {
$flag = 1;
break;
}
}
$temp = $A[$j];
$A[$j] = $A[$i];
$A[$i] = $temp;
if($i > 0 && $A[$i-1] <= $A[$i]) $check++;
if(! $flag) $i--;
}
}
return $check == 1;
}
bool(true)
bool(false)
bool(true)
$arr = array();
$len = count($A);
$check = false;
for ($i=0;$i<$len-1;$i++)
{
for ($j=$i+1;$j<$len;$j++)
{
$arr = $A;
$temp = $arr[$j];
$arr[$j] = $arr[$i];
$arr[$i] = $temp;
$no_decrease = true;
for ($k=1;$k< $len;$k++)
{
if ($arr[$k]<$arr[$k-1])
{
$no_decrease = false;
}
}
if ($no_decrease == true)
{
$check = true;
}
}
}
return $check;