<?php
function isValidBraces($line) {
throw new InvalidArgumentException("Input must be stirng.");
}
);
echo $char . "\r\n";
for ($i = 0; $i < count($braces); $i++) { $counters[$i] += $char == $braces[$i][0];
$counters[$i] -= $char == $braces[$i][1];
// closing braces should not be first
if ($counters[$i] < 0) {
return false;
}
}
}
foreach ($counters as $counter) {
// number of onpening and closing braces should be the same
if ($counter > 0)
return false;
}
return true;
}
echo isValidBraces('[(])') . "\r\n";
?>
PD9waHAKZnVuY3Rpb24gaXNWYWxpZEJyYWNlcygkbGluZSkgewogICAgaWYgKCFpc19zdHJpbmcoJGxpbmUpKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigiSW5wdXQgbXVzdCBiZSBzdGlybmcuIik7CiAgICB9CgogICAgJGJyYWNlcyA9IGFycmF5KAogICAgICAgIGFycmF5KCdbJywgJ10nKSwKICAgICAgICBhcnJheSgneycsICd9JyksCiAgICAgICAgYXJyYXkoJygnLCAnKScpCiAgICApOwogICAgJGNvdW50ZXJzID0gYXJyYXlfZmlsbCgwLCBjb3VudCgkYnJhY2VzKSwgMCk7CgogICAgZm9yZWFjaCAoc3RyX3NwbGl0KCRsaW5lKSBhcyAkY2hhcikgewogICAgCWVjaG8gJGNoYXIgLiAiXHJcbiI7CiAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGJyYWNlcyk7ICRpKyspIHsKICAgICAgICAgICAgJGNvdW50ZXJzWyRpXSArPSAkY2hhciA9PSAkYnJhY2VzWyRpXVswXTsKICAgICAgICAgICAgJGNvdW50ZXJzWyRpXSAtPSAkY2hhciA9PSAkYnJhY2VzWyRpXVsxXTsKICAgICAgICAgICAgLy8gY2xvc2luZyBicmFjZXMgc2hvdWxkIG5vdCBiZSBmaXJzdAogICAgICAgICAgICBpZiAoJGNvdW50ZXJzWyRpXSA8IDApIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCglwcmludF9yKCRjb3VudGVycyk7CiAgICBmb3JlYWNoICgkY291bnRlcnMgYXMgJGNvdW50ZXIpIHsKICAgICAgICAvLyBudW1iZXIgb2Ygb25wZW5pbmcgYW5kIGNsb3NpbmcgYnJhY2VzIHNob3VsZCBiZSB0aGUgc2FtZQogICAgICAgIGlmICgkY291bnRlciA+IDApCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICByZXR1cm4gdHJ1ZTsKfQoKZWNobyBpc1ZhbGlkQnJhY2VzKCdbKF0pJykgLiAiXHJcbiI7Cj8+