2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
|
|
@ -1,23 +1,20 @@
|
|||
defmodule Balanced_brackets do
|
||||
def task do
|
||||
Enum.each(0..5, fn n ->
|
||||
string = generate(n)
|
||||
result = is_balanced(string) |> task_balanced
|
||||
IO.puts "#{string} is #{result}"
|
||||
brackets = generate(n)
|
||||
result = is_balanced(brackets) |> task_balanced
|
||||
IO.puts "#{brackets} is #{result}"
|
||||
end)
|
||||
end
|
||||
|
||||
def generate( 0 ), do: []
|
||||
def generate( n ) do
|
||||
for _ <- 1..2*n, do: generate_bracket(:rand.uniform(2))
|
||||
defp generate( 0 ), do: []
|
||||
defp generate( n ) do
|
||||
for _ <- 1..2*n, do: Enum.random ["[", "]"]
|
||||
end
|
||||
|
||||
defp generate_bracket( 1 ), do: "["
|
||||
defp generate_bracket( 2 ), do: "]"
|
||||
def is_balanced( brackets ), do: is_balanced_loop( brackets, 0 )
|
||||
|
||||
def is_balanced( string ), do: is_balanced_loop( string, 0 )
|
||||
|
||||
defp is_balanced_loop( _string, n ) when n < 0, do: false
|
||||
defp is_balanced_loop( _, n ) when n < 0, do: false
|
||||
defp is_balanced_loop( [], 0 ), do: true
|
||||
defp is_balanced_loop( [], _n ), do: false
|
||||
defp is_balanced_loop( ["[" | t], n ), do: is_balanced_loop( t, n + 1 )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue