helper: count
This commit is contained in:
parent
455870d114
commit
dd7da2c62a
20
anagrams.tlv
20
anagrams.tlv
|
@ -236,6 +236,7 @@
|
|||
>end
|
||||
- __teliva_timestamp: original
|
||||
count_letters:
|
||||
>-- TODO: handle unicode
|
||||
>function count_letters(s)
|
||||
> local result = {}
|
||||
> for i=1,s:len() do
|
||||
|
@ -248,6 +249,21 @@
|
|||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
count:
|
||||
>-- turn an array of elements into a map from elements to their frequency
|
||||
>-- analogous to count_letters for non-strings
|
||||
>function count(a)
|
||||
> local result = {}
|
||||
> for i, v in ipairs(a) do
|
||||
> if result[v] == nil then
|
||||
> result[v] = 1
|
||||
> else
|
||||
> result[v] = result[v] + 1
|
||||
> end
|
||||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
union:
|
||||
>function union(a, b)
|
||||
|
@ -488,8 +504,8 @@
|
|||
>function count_anagrams(s)
|
||||
> local result = factorial(s:len())
|
||||
> local letter_counts = count_letters(s)
|
||||
> for k, v in pairs(letter_counts) do
|
||||
> result = result / factorial(v)
|
||||
> for l, cnt in pairs(letter_counts) do
|
||||
> result = result / factorial(cnt)
|
||||
> end
|
||||
> return result
|
||||
>end
|
||||
|
|
16
break.tlv
16
break.tlv
|
@ -236,6 +236,7 @@
|
|||
>end
|
||||
- __teliva_timestamp: original
|
||||
count_letters:
|
||||
>-- TODO: handle unicode
|
||||
>function count_letters(s)
|
||||
> local result = {}
|
||||
> for i=1,s:len() do
|
||||
|
@ -248,6 +249,21 @@
|
|||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
count:
|
||||
>-- turn an array of elements into a map from elements to their frequency
|
||||
>-- analogous to count_letters for non-strings
|
||||
>function count(a)
|
||||
> local result = {}
|
||||
> for i, v in ipairs(a) do
|
||||
> if result[v] == nil then
|
||||
> result[v] = 1
|
||||
> else
|
||||
> result[v] = result[v] + 1
|
||||
> end
|
||||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
union:
|
||||
>function union(a, b)
|
||||
|
|
16
gemini.tlv
16
gemini.tlv
|
@ -236,6 +236,7 @@
|
|||
>end
|
||||
- __teliva_timestamp: original
|
||||
count_letters:
|
||||
>-- TODO: handle unicode
|
||||
>function count_letters(s)
|
||||
> local result = {}
|
||||
> for i=1,s:len() do
|
||||
|
@ -248,6 +249,21 @@
|
|||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
count:
|
||||
>-- turn an array of elements into a map from elements to their frequency
|
||||
>-- analogous to count_letters for non-strings
|
||||
>function count(a)
|
||||
> local result = {}
|
||||
> for i, v in ipairs(a) do
|
||||
> if result[v] == nil then
|
||||
> result[v] = 1
|
||||
> else
|
||||
> result[v] = result[v] + 1
|
||||
> end
|
||||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
union:
|
||||
>function union(a, b)
|
||||
|
|
16
graphviz.tlv
16
graphviz.tlv
|
@ -236,6 +236,7 @@
|
|||
>end
|
||||
- __teliva_timestamp: original
|
||||
count_letters:
|
||||
>-- TODO: handle unicode
|
||||
>function count_letters(s)
|
||||
> local result = {}
|
||||
> for i=1,s:len() do
|
||||
|
@ -248,6 +249,21 @@
|
|||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
count:
|
||||
>-- turn an array of elements into a map from elements to their frequency
|
||||
>-- analogous to count_letters for non-strings
|
||||
>function count(a)
|
||||
> local result = {}
|
||||
> for i, v in ipairs(a) do
|
||||
> if result[v] == nil then
|
||||
> result[v] = 1
|
||||
> else
|
||||
> result[v] = result[v] + 1
|
||||
> end
|
||||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
union:
|
||||
>function union(a, b)
|
||||
|
|
16
life.tlv
16
life.tlv
|
@ -236,6 +236,7 @@
|
|||
>end
|
||||
- __teliva_timestamp: original
|
||||
count_letters:
|
||||
>-- TODO: handle unicode
|
||||
>function count_letters(s)
|
||||
> local result = {}
|
||||
> for i=1,s:len() do
|
||||
|
@ -248,6 +249,21 @@
|
|||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
count:
|
||||
>-- turn an array of elements into a map from elements to their frequency
|
||||
>-- analogous to count_letters for non-strings
|
||||
>function count(a)
|
||||
> local result = {}
|
||||
> for i, v in ipairs(a) do
|
||||
> if result[v] == nil then
|
||||
> result[v] = 1
|
||||
> else
|
||||
> result[v] = result[v] + 1
|
||||
> end
|
||||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
union:
|
||||
>function union(a, b)
|
||||
|
|
16
template.tlv
16
template.tlv
|
@ -236,6 +236,7 @@
|
|||
>end
|
||||
- __teliva_timestamp: original
|
||||
count_letters:
|
||||
>-- TODO: handle unicode
|
||||
>function count_letters(s)
|
||||
> local result = {}
|
||||
> for i=1,s:len() do
|
||||
|
@ -248,6 +249,21 @@
|
|||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
count:
|
||||
>-- turn an array of elements into a map from elements to their frequency
|
||||
>-- analogous to count_letters for non-strings
|
||||
>function count(a)
|
||||
> local result = {}
|
||||
> for i, v in ipairs(a) do
|
||||
> if result[v] == nil then
|
||||
> result[v] = 1
|
||||
> else
|
||||
> result[v] = result[v] + 1
|
||||
> end
|
||||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
union:
|
||||
>function union(a, b)
|
||||
|
|
|
@ -236,6 +236,7 @@
|
|||
>end
|
||||
- __teliva_timestamp: original
|
||||
count_letters:
|
||||
>-- TODO: handle unicode
|
||||
>function count_letters(s)
|
||||
> local result = {}
|
||||
> for i=1,s:len() do
|
||||
|
@ -248,6 +249,21 @@
|
|||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
count:
|
||||
>-- turn an array of elements into a map from elements to their frequency
|
||||
>-- analogous to count_letters for non-strings
|
||||
>function count(a)
|
||||
> local result = {}
|
||||
> for i, v in ipairs(a) do
|
||||
> if result[v] == nil then
|
||||
> result[v] = 1
|
||||
> else
|
||||
> result[v] = result[v] + 1
|
||||
> end
|
||||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
union:
|
||||
>function union(a, b)
|
||||
|
|
16
zet.tlv
16
zet.tlv
|
@ -236,6 +236,7 @@
|
|||
>end
|
||||
- __teliva_timestamp: original
|
||||
count_letters:
|
||||
>-- TODO: handle unicode
|
||||
>function count_letters(s)
|
||||
> local result = {}
|
||||
> for i=1,s:len() do
|
||||
|
@ -248,6 +249,21 @@
|
|||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
count:
|
||||
>-- turn an array of elements into a map from elements to their frequency
|
||||
>-- analogous to count_letters for non-strings
|
||||
>function count(a)
|
||||
> local result = {}
|
||||
> for i, v in ipairs(a) do
|
||||
> if result[v] == nil then
|
||||
> result[v] = 1
|
||||
> else
|
||||
> result[v] = result[v] + 1
|
||||
> end
|
||||
> end
|
||||
> return result
|
||||
>end
|
||||
- __teliva_timestamp: original
|
||||
union:
|
||||
>function union(a, b)
|
||||
|
|
Loading…
Reference in New Issue