Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 30.01.2018, 18:36
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

если я правильно понял, надо "схлопнуть" одинаковые символы, и указать их количество, если более одного.

var str = 'AAAADEEESSQQQQQQ';

var result = str.replace(/(.)\1+/g, function(m, c) { return c + m.length; });

alert(result);

Последний раз редактировалось Alexandroppolus, 30.01.2018 в 18:39.
Ответить с цитированием
  #12 (permalink)  
Старый 30.01.2018, 20:58
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Так это уже тысячу раз обсуждалось. Сжатие по хафману хорошо работает. с построением дерева и расчета весов на узел. Можно еже добавить семейство алгоритмов LZMA и получим самый настоящий zip.

Сообщение от Alexandroppolus
если я правильно понял, надо "схлопнуть" одинаковые символы,
Это называется алгоритм RLE
Ответить с цитированием
  #13 (permalink)  
Старый 30.01.2018, 21:20
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,501

А теперь с такой строкой, пожалуйста:
'AAAADEEESSQQQQ1111122QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'
естесно с возможностью распаковать
__________________
29375, 35
Ответить с цитированием
  #14 (permalink)  
Старый 30.01.2018, 21:42
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Aetae,
var str = 'AAAADEEESSQQQQ1111122QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ';
var result = str.replace(/(.)\1+/g, function(m, c) {return c + '('+m.length+')'});
alert(result);
Ответить с цитированием
  #15 (permalink)  
Старый 30.01.2018, 22:56
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,501

j0hnik, вооот, уже разделители пошли, а на средне "шумном" - это приведёт не к сжатию а к увеличению.)
А ещё надо учитывать, что в строке могуть быть скобочки.)
Тащем архиватор - это вам не хухры-мухры.

Впрочем собес я получается тоже завалил: слишком много думаю. Есть тз, должен быть результат. Думать не надо. Любые доработки - за отдельные деньги.)
__________________
29375, 35

Последний раз редактировалось Aetae, 30.01.2018 в 23:09.
Ответить с цитированием
  #16 (permalink)  
Старый 30.01.2018, 23:08
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Aetae,
Это же тестовое задание, тут цель эксперимента проверить способность испытуемого, а не придумать новый алгоритм сжатия который будет лучше существующих.
Ответить с цитированием
  #17 (permalink)  
Старый 30.01.2018, 23:33
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

именно. Алгоритм сжатия - это было бы задание дома сделать и прислать ответ. А если "на 15 мин в сраном блокнотике" - как раз простое схлопывание повторяющихся символов в строке только из букв. Ну и конечно, простое очевидное решение с регексом делается за минуту, хотя они, скорее всего, ожидали с циклом что-то..
Ответить с цитированием
  #18 (permalink)  
Старый 31.01.2018, 02:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Alexandroppolus
хотя они, скорее всего, ожидали с циклом что-то.
Можно быть уверенным в этом, очевидное с regex не дает представления о возможностях мышления тестируемого. Хотя может быть и прокатило бы, и был бы зачет, но тогда впоследствии были бы проблемы.

Последний раз редактировалось laimas, 31.01.2018 в 12:02.
Ответить с цитированием
  #19 (permalink)  
Старый 31.01.2018, 08:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от laimas
Завтра Яшка всем тут отказы напишет.
Пойдем в управдомы...
Ответить с цитированием
  #20 (permalink)  
Старый 31.01.2018, 12:22
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ksa
Пойдем в управдомы...
Теплые места как всегда заняты, только дворником. )
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Yandex map api или Yandex static arahmanov Элементы интерфейса 5 04.02.2016 11:34
Тестовое задания Front-end разработчику Имя Работа 19 08.12.2011 12:31
Тестовое задание Yandex mycoding Оффтопик 71 06.07.2011 15:46
Тестовое задание. Дайте идею. FINoM Оффтопик 14 28.03.2011 10:09
Помогите сделать тестовое задание начального уровня по js makregistr Работа 1 16.12.2010 14:26