Phá vỡ kỷ lục (Breaking the Records)
Maria chơi bóng chuyển ở trường đại học và muốn trở thành pro. với mỗi ván đấu cô ấy ghi lại điểm số của cô ấy. Cô ta lập bảng số lần cô ấy phá vỡ kỷ lục điểm cao nhất và thấp nhất. điểm chơi đầu tiên được thành lập cho ván đấu và cô ấy bắt đầu đếm từ đó.
cho ví du giả sử điểm số của cô ấy được biểu diễn như sau [12, 24, 10, 24] . điểm số theo thứ tự các trò chơi đã chơi. cô ta ghi ra kết quả dưới bảng sau
Game Score Minimum Maximum Min Max
0 12 12 12 0 0
1 24 12 24 0 1
2 10 10 24 1 1
3 24 10 24 1 1
cho bảng điểm số ván đấu của Maria . chỉ và in ra số lần cô ấy phá vỡ kỷ lục điểm só cao nhất và thấp nhất điểm số trong suốt ván đấu.
Miêu tả chức năng
Hoàn thành breakingRecords cho như bên dưới. Nó sẽ trả về mảng số nguyên số lần cô ấy phá vỡ kỷ lục. chỉ định 0 là điêm số phá vỡ đầu tiên, và chi định 1 là điểm số phá vỡ thấp nhất
breakingRecords bao gồm các parameter sau
scores: mảng các số nguyên
giá trị đâu vào
dòng đâu tiên chứa số n số lần choi
dòng thứ 2 biêu diễn n điểm số riêng biệt biểu diễn các giá trị score0, score1, ...., scoren-1
ràng buộc
1< n < 1000
0 < scores[i] < 10 mũ 8
giá trị đầu ra
in ra giá trị riêng biệt biểu diễn số lần điểm tốt nhất theo chiều tăng và điểm tồi nhất theo chiều giảm dần
ví đâu đầu vào 0
9
10 5 20 20 4 5 2 25 1
ví dụ đầu ra 0
2 4
giải thích 0
nhìn hình bên dưới biểu diễn số lần Maria phá vỡ kỷ lục phá vỡ kỷ lục cao nhất và thấp nhất của mỗi ván đấu
cô ấy phá vỡ kỷ lục điểm số cao nhất sau 2 lượt chơi 2 và 7 và cô ấy giành điểm số thấp nhất sau 4 lần chơi (1,4, 6 và 8) . vì vậy chúng ta in ra 2 và 4 cho đáp án. Lưu ý cố ấy không phá vỡ kỷ lục trong game thứ 3 như điểm số của cô ấy trong suốt cuộc chơi điểm số không lớn hơn điểm số lúc đó
ví dụ đầu vào 1
10
3 4 21 36 10 28 35 5 24 42
ví dụ đầu ra 1
4 0
giải thích 1
nhìn hình bên dưới biểu diễn số lần Maria phá vỡ kỷ lục phá vỡ kỷ lục cao nhất và thấp nhất của mỗi ván đấu
cô ấy phá vỡ điểm số cao nhất 4 lần sau lần (1, 2, 3 và 9) và điểm số thấp nhất 0 lần (0 có điểm số nào trong suốt ván đấu điểm số đầu tiên ) vì vậy ta in ra 4 0 là đáp án
php
<?php
// Complete the breakingRecords function below.
function breakingRecords($scores) {
$highestcnt = 0;
$lowestcnt = 0;
$hightemp = $scores[0];
$lowtemp = $scores[0];
$arr = [];
foreach($scores as $scor) {
if($hightemp < $scor) {
$highestcnt++;
$hightemp = $scor;
}
if($lowtemp > $scor) {
$lowestcnt++;
$lowtemp = $scor;
}
}
$arr[] = $highestcnt;
$arr[] = $lowestcnt;
return $arr;
}
$fptr = fopen(getenv("OUTPUT_PATH"), "w");
$stdin = fopen("php://stdin", "r");
fscanf($stdin, "%d\n", $n);
fscanf($stdin, "%[^\n]", $scores_temp);
$scores = array_map('intval',
preg_split('/ /', $scores_temp, -1, PREG_SPLIT_NO_EMPTY));
$result = breakingRecords($scores);
fwrite($fptr, implode(" ", $result) . "\n");
fclose($stdin);
fclose($fptr);
Comments
Post a Comment