RosettaCodeData/Task/Balanced-brackets/Stata/balanced-brackets.stata

13 lines
238 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
mata
function random_brackets(n) {
2026-02-01 16:33:20 -08:00
return(invtokens(("[","]")[runiformint(1,2*n,1,2)],""))
2023-07-01 11:58:00 -04:00
}
function is_balanced(s) {
2026-02-01 16:33:20 -08:00
n = strlen(s)
if (n==0) return(1)
a = runningsum(92:-ascii(s))
return(all(a:>=0) & a[n]==0)
2023-07-01 11:58:00 -04:00
}
end