Data update
This commit is contained in:
parent
35bcdeebf8
commit
74c69a0df6
2427 changed files with 31826 additions and 3468 deletions
45
Task/Anagrams/Amazing-Hopper/anagrams.hopper
Normal file
45
Task/Anagrams/Amazing-Hopper/anagrams.hopper
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
#include <basico.h>
|
||||
|
||||
#define MAX_LINE 30
|
||||
|
||||
algoritmo
|
||||
|
||||
fd=0, filas=0
|
||||
word={}, 2da columna={}
|
||||
old_word="",new_word=""
|
||||
dimensionar (1,2) matriz de cadenas 'result'
|
||||
pos=0
|
||||
|
||||
token.separador'""'
|
||||
|
||||
abrir para leer("basica/unixdict.txt",fd)
|
||||
|
||||
iterar mientras ' no es fin de archivo (fd) '
|
||||
usando 'MAX_LINE', leer línea desde(fd),
|
||||
---copiar en 'old_word'---, separar para 'word '
|
||||
word, ---retener--- ordenar esto,
|
||||
encadenar en 'new_word'
|
||||
|
||||
matriz.buscar en tabla (1,new_word,result)
|
||||
copiar en 'pos'
|
||||
si ' es negativo? '
|
||||
new_word,old_word, pegar fila en 'result'
|
||||
sino
|
||||
#( result[pos,2] = cat(result[pos,2],cat(",",old_word) ) )
|
||||
fin si
|
||||
|
||||
reiterar
|
||||
|
||||
cerrar archivo(fd)
|
||||
|
||||
guardar 'filas de (result)' en 'filas'
|
||||
#( 2da columna = result[2:filas, 2] )
|
||||
fijar separador '","'
|
||||
tomar '2da columna'
|
||||
contar tokens en '2da columna' ---retener resultado,
|
||||
obtener máximo valor,es mayor o igual?, replicar esto
|
||||
compactar esto
|
||||
|
||||
fijar separador 'NL', luego imprime todo
|
||||
|
||||
terminar
|
||||
|
|
@ -5,6 +5,7 @@ import system'collections;
|
|||
import extensions;
|
||||
import extensions'routines;
|
||||
import extensions'text;
|
||||
import algorithms;
|
||||
|
||||
extension op
|
||||
{
|
||||
|
|
@ -32,7 +33,7 @@ public program()
|
|||
};
|
||||
|
||||
dictionary.Values
|
||||
.sort:(former,later => former.Item2.Length > later.Item2.Length )
|
||||
.quickSort:(former,later => former.Item2.Length > later.Item2.Length )
|
||||
.top:20
|
||||
.forEach:(pair){ console.printLine(pair.Item2) };
|
||||
|
||||
|
|
|
|||
27
Task/Anagrams/MiniScript/anagrams.mini
Normal file
27
Task/Anagrams/MiniScript/anagrams.mini
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
wordList = http.get("http://wiki.puzzlers.org/pub/wordlists/unixdict.txt").split(char(10))
|
||||
|
||||
makeKey = function(word)
|
||||
return word.split("").sort.join("")
|
||||
end function
|
||||
|
||||
wordSets = {}
|
||||
for word in wordList
|
||||
k = makeKey(word)
|
||||
if not wordSets.hasIndex(k) then
|
||||
wordSets[k] = [word]
|
||||
else
|
||||
wordSets[k].push(word)
|
||||
end if
|
||||
end for
|
||||
|
||||
counts = []
|
||||
|
||||
for wordSet in wordSets.values
|
||||
counts.push([wordSet.len, wordSet])
|
||||
end for
|
||||
counts.sort(0, false)
|
||||
|
||||
maxCount = counts[0][0]
|
||||
for count in counts
|
||||
if count[0] == maxCount then print count[1]
|
||||
end for
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
import "io" for File
|
||||
import "/sort" for Sort
|
||||
import "./sort" for Sort
|
||||
|
||||
var words = File.read("unixdict.txt").split("\n").map { |w| w.trim() }
|
||||
var wordMap = {}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue