blob: 2f4d85d1f46476e870018605dd550672edd7b901 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
local function frequency_equalizer(str)
local t,vals = {},{}
setmetatable(t,{__index = function(t,k) return 0 end})
for i=1, #str do
local c = str:sub(i,i)
t[c] = t[c] + 1
end
for k,v in pairs(t) do vals[#vals+1] = v end
table.sort(vals,function(a,b) return a > b end)
if vals[1] == vals[2]+1 and vals[#vals] == vals[2] then
return true
end
return false
end
print(frequency_equalizer('abbc'))
print(frequency_equalizer('xyzyyxz'))
print(frequency_equalizer('xzxz'))
|