aboutsummaryrefslogtreecommitdiff
path: root/challenge-100/paulo-custodio/lua/ch-2.lua
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-02-20 01:18:05 +0000
committerGitHub <noreply@github.com>2021-02-20 01:18:05 +0000
commit2102fa481829f30d4e6ec37d04fa77f87e7e9a50 (patch)
tree158db5e61a8ba4e27e57b0feb52c6673a65af476 /challenge-100/paulo-custodio/lua/ch-2.lua
parent468bc290d602b49bc9c51d8905d7e389e931806e (diff)
parent798c5692eb4c43474a1ba230bb93f9fdfc3fd311 (diff)
downloadperlweeklychallenge-club-2102fa481829f30d4e6ec37d04fa77f87e7e9a50.tar.gz
perlweeklychallenge-club-2102fa481829f30d4e6ec37d04fa77f87e7e9a50.tar.bz2
perlweeklychallenge-club-2102fa481829f30d4e6ec37d04fa77f87e7e9a50.zip
Merge pull request #3576 from pauloscustodio/paulo-custodio
Paulo Custodio
Diffstat (limited to 'challenge-100/paulo-custodio/lua/ch-2.lua')
-rw-r--r--challenge-100/paulo-custodio/lua/ch-2.lua46
1 files changed, 23 insertions, 23 deletions
diff --git a/challenge-100/paulo-custodio/lua/ch-2.lua b/challenge-100/paulo-custodio/lua/ch-2.lua
index c8da806390..9f917fe53a 100644
--- a/challenge-100/paulo-custodio/lua/ch-2.lua
+++ b/challenge-100/paulo-custodio/lua/ch-2.lua
@@ -7,7 +7,7 @@ You are given triangle array.
Write a script to find the minimum path sum from top to bottom.
-When you are on index i on the current row then you may move to either
+When you are on index i on the current row then you may move to either
index i or index i + 1 on the next row.
Example 1:
@@ -48,32 +48,32 @@ The minimum path sum from top to bottom: 3 + 1 + 2 + 1 = 7
triangle = {}
-function add_row(row, text)
- rows = row
- table.insert(triangle, {})
- for i=1, row do
- local s, e = string.find(text, "(%d+)")
- local n = tonumber(string.sub(text, s, e))
- text = string.sub(text, e+1, -1)
- table.insert(triangle[row], n)
- end
+function add_row(row, text)
+ rows = row
+ table.insert(triangle, {})
+ for i=1, row do
+ local s, e = string.find(text, "(%d+)")
+ local n = tonumber(string.sub(text, s, e))
+ text = string.sub(text, e+1, -1)
+ table.insert(triangle[row], n)
+ end
end
function min_sum(sum, row, col)
- sum = sum or 0
- row = row or 1
- col = col or 1
- sum = sum + triangle[row][col]
- if row == rows then
- return sum
- else
- local sum1 = min_sum(sum, row+1, col)
- local sum2 = min_sum(sum, row+1, col+1)
- return math.min(sum1, sum2)
- end
+ sum = sum or 0
+ row = row or 1
+ col = col or 1
+ sum = sum + triangle[row][col]
+ if row == rows then
+ return sum
+ else
+ local sum1 = min_sum(sum, row+1, col)
+ local sum2 = min_sum(sum, row+1, col+1)
+ return math.min(sum1, sum2)
+ end
end
-
+
for i=1, #arg do
- add_row(i, arg[i])
+ add_row(i, arg[i])
end
io.write(min_sum(), "\n")