Matriarch #201 11 марта 2019 (изменено) Мое мнение, если предмет не касается конкретного языка, вроде "практикум по теорверу" или "алгоритмы и структуры данных", то это плюс, что препод готов на разных языках лабы принимать. Ну кого ебет, си, паскаль, жаба всё одна хуйня будет примерно по итогу.Есть вопрос по жабе, чото меня поплавило не могу загуглитьfor(Xyu x : dicks){ try{ ebat(x); }catch(FuckException e){ e.printStackTrace(); {} Как обработать исключение и при этом не перестать перебирать коллекцию?Или оно так и сработает? Изменено 11 марта 2019 пользователем Matriarch Поделиться сообщением Ссылка на сообщение
Ubububu #202 11 марта 2019 Есть вопрос по жабе, чото меня поплавило не могу загуглить for(Xyu x : dicks){ try{ ebat(x); }catch(FuckException e){ e.printStackTrace(); { } Как обработать исключение и при этом не перестать перебирать коллекцию?У тебя и так обрабатывается исключение, а после перебор коллекции продолжается. Matriarch, m()stEVIL и JuJeu понравилось это Поделиться сообщением Ссылка на сообщение
JuJeu #203 11 марта 2019 Мое мнение, если предмет не касается конкретного языка, вроде "практикум по теорверу" или "алгоритмы и структуры данных", то это плюс, что препод готов на разных языках лабы принимать. Ну кого ебет, си, паскаль, жаба всё одна хуйня будет примерно по итогу. Есть вопрос по жабе, чото меня поплавило не могу загуглить for(Xyu x : dicks){ try{ ebat(x); }catch(FuckException e){ e.printStackTrace(); {} Как обработать исключение и при этом не перестать перебирать коллекцию?Или оно так и сработает? было бы по - другому, если бы ты вынес try/catch из for цикла. Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. Поделиться сообщением Ссылка на сообщение
Index #204 11 марта 2019 Или оно так и сработает? Оно и так сработает, если ты конечно ловишь то исключение. И это не failsafe исключение итератора, в таком случае ты можешь заблокировать себе анус. Хотя фейлсейф выбрасываются в блоке for что выше, так что пiхуй.Тьфу, fail-fast Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #205 11 марта 2019 Прикольная задачка, довольно простая, но сходу дохуя решений придумалось и ни одного красивого Есть массив:[5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37];нужно прогнать его через функцию, чтобы получился следующий:["5", "10-14", "17-19", "24", "25", "27-29", "31", "35-37"]Типа последовательные числа схлопывались в рейндж, если в рейндже 2 элемента, то через , (пример 24 и 25).Исходный массив состоит из чисел и отсортирован по возрастанию Поделиться сообщением Ссылка на сообщение
hira88 #206 11 марта 2019 ни одного красивого а какже template <int...ARGS> std::array<bool, SIZE> func(){ ... std::for_each(numbers.begin(), numbers.end(), some_func); ... } и будет инициализировать как ты написал Поделиться сообщением Ссылка на сообщение
moonfangtopich #207 11 марта 2019 (изменено) Есть массив:[5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37];нужно прогнать его через функцию, чтобы получился следующий:["5", "10-14", "17-19", "24", "25", "27-29", "31", "35-37"]def collapse_array(initial_arr): collapsed_arr = [] i = 0 while i < len(initial_arr): start = initial_arr[i] end = initial_arr[i] j = 1 while i + j < len(initial_arr): if initial_arr[i + j] - start == j: end = initial_arr[i + j] j += 1 else: j -= 1 # go 1 step back to not overjump the nonconsecutive element under the index i+j break if start == end: collapsed_arr.append(str(start)) elif end - start == 1: collapsed_arr.append(str(start)) collapsed_arr.append(str(end)) else: collapsed_arr.append(f'{start}-{end}') i += 1 + j return collapsed_arr Изменено 11 марта 2019 пользователем moonfangtopich Поделиться сообщением Ссылка на сообщение
Zellar #208 11 марта 2019 Прикольная задачка, довольно простая, но сходу дохуя решений придумалось и ни одного красивого Есть массив:[5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37];нужно прогнать его через функцию, чтобы получился следующий:["5", "10-14", "17-19", "24", "25", "27-29", "31", "35-37"]Типа последовательные числа схлопывались в рейндж, если в рейндже 2 элемента, то через , (пример 24 и 25).Исходный массив состоит из чисел и отсортирован по возрастанию const reshenie = computer sdelay pliz iz vot etogo [5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37], vot eto ["5", "10-14", "17-19", "24", "25", "27-29", "31", "35-37"]; Жиза для любопытныхЧекнул = пидор Поделиться сообщением Ссылка на сообщение
Index #209 11 марта 2019 int[] array = new int[]{5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37}; ArrayList<String> list = new ArrayList<>(array.length); for (int i = 0; i < array.length; i++) { int currentCopy = array[i]; int caret = i; while (caret < array.length - 1) { if (array[++caret] != ++currentCopy) { caret--; break; } } if (caret - i > 1) { list.add(array[i] + "-" + array[caret]); i = caret; } else { list.add(String.valueOf(array[i])); } } list.trimToSize(); String[] result = list.toArray(new String[0]); System.out.println(Arrays.toString(array)); System.out.println(Arrays.toString(result)); [5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37] [5, 10-14, 17-19, 24, 25, 27-29, 31, 35-37] Поделиться сообщением Ссылка на сообщение
Just.Doit #210 11 марта 2019 (изменено) щас тут чутка приходится писать на джавке.какой же мерзопакостный и отсталый язык. это ппц.можно конкретные примеры и как они реализованы в приятнопакостных яп? неприведу лично свой кейс ибо лень раскладывать в чем именно проблема - просто когда пишешь испытываешь подгорания что нет вывода типов, что нужно писать кучу констркций. более конкнретно могу привести пример на который недавно наткнулсяберем туториал по акке, там есть API для джавы и для скалы, одинаково развивающееся. и сниппеты петпроджекта в туториале приведены в обоих языкахhttps://doc.akka.io/docs/akka/current/guide/tutorial_4.htmlпопереключай и охуей что джава занимает х2-х3 местаесли ее отформатировать компактно (не по код стайлу но ближе к скале) то там всеравно получается х1.5 Изменено 11 марта 2019 пользователем Just.Doit очень крутые котейкиКому-то пизды дал - нужно сделать скрин обязательно. (с) Solo Поделиться сообщением Ссылка на сообщение
Index #211 11 марта 2019 https://doc.akka.io/...tutorial_4.htmlпопереключай и охуей что джава занимает х2 местаНу охуеть. Добавили синтаксический сахар сворачивающий POJO до простого описания конструктора. Можно пользоваться каким ломбоком, ну или мигрировать на тот же котлин, который проще скалы. Поделиться сообщением Ссылка на сообщение
FeelYourDestiny #212 11 марта 2019 Решение от Рустера: function last(arr) { return arr[arr.length - 1]; } function preLast(arr) { return arr[arr.length - 2]; } function func(arr) { return arr .reduce((acc, cur, idx) => { const prev = last(acc) || []; if (preLast(prev) + 2 === cur || last(prev) + 2 === arr[idx + 1]) { prev.push(cur); } else { acc.push([cur]); } return acc; }, []) .map(part => part.length > 1 ? `${part[0]}-${last(part)}` : part[0].toString() ); } P.S. Зеллар даун Поделиться сообщением Ссылка на сообщение
Just.Doit #213 11 марта 2019 https://doc.akka.io/...tutorial_4.htmlпопереключай и охуей что джава занимает х2 местаНу охуеть. Добавили синтаксический сахар сворачивающий POJO до простого описания конструктора. Можно пользоваться каким ломбоком, ну или мигрировать на тот же котлин, который проще скалы. можно. не совсем понял причем здесь котлин. я не говорю что скала лучше котлина и лучше всех я говорю что джава это полное говноесли честно - не знаю примеров проектов которые все в ломбоке и в ФП библиотеках - так почти не программируют вообще из говна можно строить дома (на джаве можно все что угодно) но я как строитель хотел бы строить из кирпичей и бетона, а не говна и палок очень крутые котейкиКому-то пизды дал - нужно сделать скрин обязательно. (с) Solo Поделиться сообщением Ссылка на сообщение
moonfangtopich #214 11 марта 2019 считаю, что питон поссал на все вышескинутое Поделиться сообщением Ссылка на сообщение
AskMe- #215 11 марта 2019 (изменено) вот я и добрался до рязани, парни. разбил шалаш, сижу у костра, электричество здесь еще не изобрели (за мкадом все таки находимся).вокруг ходят люди с пёсьими головами и ухают совы, надеюсь доживу до утра спасибо жастдуиту за советы, все жизненные проблемы в миг разрешились Изменено 11 марта 2019 пользователем AskMe- JuJeu, Lysindr, Akimosik и 2 другим понравилось это Лишь ощутив баттхерт до конца, мы обретаем свободу Поделиться сообщением Ссылка на сообщение
Kant #216 11 марта 2019 ну вот, а ты жаловался Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
AskMe- #217 11 марта 2019 Лишь ощутив баттхерт до конца, мы обретаем свободу Поделиться сообщением Ссылка на сообщение
Kant #218 11 марта 2019 public static string[] AggregateArray(int[] input, int span) { var output = new List<string>(input.Length); int i = 0; while (i < input.Length) { int j = i; while (j < input.Length - span && input[j + span] - input[j] == span) j++; var range = input[i].ToString(); if (j > i) { range += "-" + input[j + span - 1]; i = j + span; } else { i++; } output.Add(range); } return output.ToArray(); } хуй знает че там про сложность в красивости решенияя тесты писал дольше, чем код на любого размера спанцелый цикл в цикле, фактически 4 строки, ебать Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Just.Doit #219 11 марта 2019 (изменено) Прикольная задачка, довольно простая, но сходу дохуя решений придумалось и ни одного красивого Есть массив:[5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37];нужно прогнать его через функцию, чтобы получился следующий:["5", "10-14", "17-19", "24", "25", "27-29", "31", "35-37"]Типа последовательные числа схлопывались в рейндж, если в рейндже 2 элемента, то через , (пример 24 и 25).Исходный массив состоит из чисел и отсортирован по возрастанию for fun решил функционально val initialArray = Seq(5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37) val consecutiveGrouped = initialArray.foldLeft(Seq.empty[Seq[Int]]) { (acc, item) => acc.headOption .filter(_.headOption.contains(item - 1)) // определяем содержит ли крайняя группа значение предшествующее текущему .map(lastGroupContainedPrev => (item +: lastGroupContainedPrev) +: acc.tail) // тогда добавляет в начало текущей группы данное значение .getOrElse(Seq(item) +: acc) // если не содержит то формируем новую группу состоящую из текущего элемента }.map(_.reverse).reverse // List(List(5), List(10, 11, 12, 13, 14), List(17, 18, 19), List(24, 25), List(27, 28, 29), List(31), List(35, 36, 37)) val groupsWithSeparatedPairs = consecutiveGrouped.map { case a :: b :: Nil => Seq(Seq(a), Seq(b)) case it => Seq(it) }.reduce(_ ++ _) val result = groupsWithSeparatedPairs.map { case single :: Nil => single case g => g.head + "-" + g.last } println(result) // List(5, 10-14, 17-19, 24, 25, 27-29, 31, 35-37) btwмне тут недавно предлагали сравнить java vs norm_yazikнапишите на джаве это таким же функциональным образом. можно использовать библиотечки. и сравните Изменено 11 марта 2019 пользователем Just.Doit очень крутые котейкиКому-то пизды дал - нужно сделать скрин обязательно. (с) Solo Поделиться сообщением Ссылка на сообщение
Zellar #220 11 марта 2019 (изменено) Прикольная задачка, довольно простая, но сходу дохуя решений придумалось и ни одного красивого Есть массив:[5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37];нужно прогнать его через функцию, чтобы получился следующий:["5", "10-14", "17-19", "24", "25", "27-29", "31", "35-37"]Типа последовательные числа схлопывались в рейндж, если в рейндже 2 элемента, то через , (пример 24 и 25).Исходный массив состоит из чисел и отсортирован по возрастанию for fun решил функционально val initialArray = Seq(5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37) val consecutiveGrouped = initialArray.foldLeft(Seq.empty[Seq[Int]]) { (acc, item) => acc.headOption .filter(_.headOption.contains(item - 1)) // определяем содержит ли крайняя группа значение предшествующее текущему .map(lastGroupContainedPrev => (item +: lastGroupContainedPrev) +: acc.tail) // тогда добавляет в начало текущей группы данное значение .getOrElse(Seq(item) +: acc) // если не содержит то формируем новую группу состоящую из текущего элемента }.map(_.reverse).reverse // List(List(5), List(10, 11, 12, 13, 14), List(17, 18, 19), List(24, 25), List(27, 28, 29), List(31), List(35, 36, 37)) val groupsWithSeparatedPairs = consecutiveGrouped.map { case a :: b :: Nil => Seq(Seq(a), Seq(b)) case it => Seq(it) }.reduce(_ ++ _) val result = groupsWithSeparatedPairs.map { case single :: Nil => single case g => g.head + "-" + g.last } println(result) // List(5, 10-14, 17-19, 24, 25, 27-29, 31, 35-37) btwмне тут недавно предлагали сравнить java vs norm_yazikнапишите на джаве это таким же функциональным образом. можно использовать библиотечки. и сравните Что такое val? может ты хотел написать var? Ты ебанутый? Изменено 11 марта 2019 пользователем Zellar Жиза для любопытныхЧекнул = пидор Поделиться сообщением Ссылка на сообщение