牛客网:输出为空,请检查一下你的代码有没有循环输入处理多个case

示例代码是 PHP 

以【Redraiment是走梅花桩】这道题为例 https://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa?tpId=37&tqId=21326&tPage=6&rp=  &ru=/ta/huawei&qru=/ta/huawei/question-ranking

输入

30
186 13 322 264 328 110 120 73 20 35 240 97 150 221 284 324 46 219 239 284 128 251 298 319 304 36 144 236 163 122

 输入是两行, 第一行 是数字的个数, 第二行是空格隔开的数字, 这只是一组数据, 会有多组所以要循环处理

 将输入输出 代码示例提取出来

 function getResult() {
    
    while (fscanf(STDIN , "%d" , $n) == 1) { // 第一行数字的个数, $n高级语言都用不到,C语言需要
        $numStr = @trim(fgets(STDIN));  // $n个数,简单起见 直接fgets 读取字符串 ,再切割, 一定要trim
        $input = explode(' ' ,$numStr);
        echo handleArray($input) . PHP_EOL; // 注意 此处一定要有 换行,否则结果会不正确
    }
}

总结: echo 要写在循环里,一般在输入的数据个数确定的 用 fscanf ,  不确定的时候直接fgets() 出来在处理; 多组数据的情况下放到 循环中处理;

 

完整示例:

 $input[$j] && $overall[$j] + 1 > $overall[$i]) {
                $overall[$i] = $overall[$j] + 1;
            }
        }
    }
    return max($overall);
    }

 getResult();
?>

 

 

希望对你有帮助。

 

你可能感兴趣的:(面试,nowcoder,牛客网)