У меня есть массив из почти 2700 строк, мне нужно найти правильную фразу для предложения anagram. Список представляет собой отсортированный список, содержащий почти 100 тыс. Элементов списка слов, которые будут соответствовать.Очень длинные перестановки - предложение anagram
И я хочу объединить их в 1, 2 & 3 слова вместе и соответствуют длине слов, если они соответствуют моей длине моей анаграммы, обрезанной для пробелов.
Я попробовал эту функцию, но она не в памяти, я мог установить максимум 3 слов вместе, чтобы соответствовать на:
var permutations = require('./permutations.js').permutations;
var shortList = words.slice(10, 20);
var result = permutations(shortList);
console.log(result);
и это в permutation.js
(function (exports) {
'use strict';
var permutations = (function() {
var res;
function swap(arr, i, j) {
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
function permutations(arr, current) {
if (current >= arr.length) {
return res.push(arr.slice());
}
for (var i = current; i < arr.length; i += 1) {
swap(arr, i, current);
permutations(arr, current + 1);
swap(arr, i, current);
}
}
return function (arr) {
res = [];
permutations(arr, 0);
var temp = res;
// Free the extra memory
res = null;
return temp;
};
}());
exports.permutations = permutations;
}((typeof window === 'undefined') ? module.exports : window));
EDIT:
Пример
var input = ['test', 'foo', 'bar', 'hello', 'world'];
var output = magicFunc(input);
// console.log(output);
//
// [['test foo bar'],
// ['test foo hello'],
// ['test foo world'],
// ['test bar foo'],
// ['test bar hello'],
// ['test bar world']...];
Я не понимаю. У вас есть два списка строк, один из которых содержит 2700 элементов (слова?), А другой - 100 000 элементов. Что ты хочешь делать? –
Вы должны создать пример вывода для данного входа. – BlackBrain
Извините за неправильное объяснение, у меня есть массив из 2700 строк, которые мне нужно перестановить в предложения из 3 слов и получить результаты. –