Бред

Ответить в тред Ответить в тред
Check this out!
Аноним 21/12/21 Втр 17:58:22 2599886601
90384580346-034.jpg 148Кб, 1036x869
1036x869
sadPepedigitala[...].png 86Кб, 503x503
503x503
1638695475689.jpg 18Кб, 700x393
700x393
Решал эту задачу 3 часа, до сих пор в шоке, насколько сложное это ваше программирование для обычного заводчанина. И это якобы курс для школьников, задача далеко не самая сложная. Тем более Python, который считается очень легким языком. На каком-нибудь С++ я бы это 3 дня решал. Видимо, нужно иметь очень высокий интеллект, чтобы вкатиться в программирование и сильные математические способности, иначе там просто нечего делать.
Аноним 21/12/21 Втр 18:02:04 2599888852
Хуйня, а не задача. На практике это нигде не пригодится.
Аноним 21/12/21 Втр 18:05:17 2599890533
>>259988660 (OP)
Это олимпиадная задачка
Нахуй тебе она нужна?
Аноним 21/12/21 Втр 18:07:22 2599891594
>>259988660 (OP)
В алгоритмических олимпиадных задачах язык не решает ничего
В реальной разработке ты ничего сложнее реализации дерева и поиска по нему писать не будешь
Тем более все эти алгоритмы легко гуглятся
Аноним 21/12/21 Втр 18:07:57 2599891845
>>259988660 (OP)
Давай разберем по частям тобою написанное.
>задача далеко не самая сложная
Да. Абсолютно изи. Рил за 1 минуту решается.
>Тем более Python, который считается очень легким языком. На каком-нибудь С++ я бы это 3 дня решал.
Нет. На уровне простых задачек различия языков не проявляются.
>нужно иметь очень высокий интеллект, чтобы вкатиться в программирование и сильные математические способности
Интеллект помогает, но не является обязательным. Можно надрочиться на конкретные типы задач. Тебе сложно именно томучто ты не знаешь примеров решений похожих задач.
Аноним 21/12/21 Втр 18:08:54 2599892346
>>259988660 (OP)
Решается за минуту с двумя счётчиками и одним циклом по строке
Аноним 21/12/21 Втр 18:14:28 2599895577
>>259988660 (OP)
Считаешь открывающиеся скобки, считаешь закрывающие, сравниваешь, до этой хуйни ифы которые проверяют есть ли чтото кроме скобок.
Чо сложного?
Аноним 21/12/21 Втр 18:16:06 2599896438
Ну типа, если ты правда заводчанин и решил ее за 3 часа без гугления, то это норм - у тебя есть будущее в IT.
Аноним 21/12/21 Втр 18:18:52 2599897989
Аноним 21/12/21 Втр 18:19:11 25998981710
>>259989557
>читаешь открывающиеся скобки, считаешь закрывающие, сравниваешь
)(
Аноним 21/12/21 Втр 18:22:08 25998997511
>>259989234
ну-ка давай, реши с двумя счётчиками, гений
Аноним 21/12/21 Втр 18:23:26 25999005112
def is_correct_bracket(text):
open_br = 0
for i in text:
if i == '(':
open_br += 1
elif i == ')':
if open_br > 0:
open_br -= 1
else:
return False
return True

print(is_correct_bracket("()(()())"))
print(is_correct_bracket(")(())("))
print(is_correct_bracket("((()))"))
print(is_correct_bracket("(()())"))
print(is_correct_bracket("()(())()(()())()((()))"))
print(is_correct_bracket("())()()()("))
Аноним 21/12/21 Втр 18:24:39 25999010213
Аноним 21/12/21 Втр 18:26:23 25999020014
Аноним 21/12/21 Втр 18:26:39 25999021715
>>259988660 (OP)
Если получилось это решить значить есть перспективы и всё ок.
Просто продолжай в том же духе. Ты же не собирался получить востребованную и высокооплачиваемую работу за месяц?
Аноним 21/12/21 Втр 18:27:04 25999023416
>>259990051
нет уебанчик, неправильно. Ищи ошибку.
Аноним 21/12/21 Втр 18:28:15 25999028217
Аноним 21/12/21 Втр 18:28:34 25999030118
Аноним 21/12/21 Втр 18:28:59 25999031919
>>259988660 (OP)
Это классическая задача из универа 100%
решается через стек
Аноним 21/12/21 Втр 18:30:40 25999040320
>>259988660 (OP)
А скобки бывают еще разные, [ { ( ) } ]

Ебало "счетоводов" представили?!
Аноним 21/12/21 Втр 18:30:43 25999040621
Специальной олимпиады тред?
Специальной олимпиады тред!


Теперь решите то же самое, но скобок может быть три вида - [], (), {}.
Аноним 21/12/21 Втр 18:31:44 25999045522
>>259990403
Ебать, мы с тобой хайвмайнд.
Аноним 21/12/21 Втр 18:31:58 25999046623
>>259988660 (OP)
>Видимо, нужно иметь очень высокий интеллект, чтобы вкатиться в программирование и сильные математические способности, иначе там просто нечего делать
Ебать! А ты думал, что там всё просто? И всё решается гуглежом? А задача интересная, кстати.
Аноним 21/12/21 Втр 18:32:55 25999052524
>>259990466
>И всё решается гуглежом?
Но так и есть. Нашел решение за 2 минуты в гугле.
Аноним 21/12/21 Втр 18:32:57 25999052625
>>259990234
Проверить не незакрытые скобки забыл, да
Аноним 21/12/21 Втр 18:33:28 25999055126
>>259988660 (OP)
>Тем более Python, который считается очень легким языком. На каком-нибудь С++ я бы это 3 дня решал.
Это алгоритмические задачи, вообще пох на чём писать.
>>259988885
(define (ti-pidor? anon)
(eq? anon 'op))
Аноним 21/12/21 Втр 18:34:03 25999058327
>>259990217
Собирался. Зачем я по-твоему с завода уволился?
Аноним 21/12/21 Втр 18:34:28 25999060428
>>259990525
Ну а потом тебе надо будет написать какую-нибудь хуету, аналоговнет которой. У меня такое было и пришлось думать самому.
Аноним 21/12/21 Втр 18:34:33 25999060829
>>259990301
Тогда тебе задача со звездочкой. Придумай тест, который не пройдёт вот у этого анона >>259990051 , если он в конце добавит проверку незакрытых скобок.
Аноним 21/12/21 Втр 18:35:06 25999064030
>>259990583
устраивайся обратно. В лучшем случаи, если не будешь ебланить, год уйдёт.
Аноним 21/12/21 Втр 18:35:53 25999068531
>>259988660 (OP)
public static boolean isCorrectBracket(String string) {
return string.matches("^\\([()]+\\)$") && (string.chars().filter(ch -> ch == '(').count() == string.chars().filter(ch -> ch == ')').count());
}

5 минут, с гуглением регекспов
мимо джава господин синьор помидор 300КК нсек
Аноним 21/12/21 Втр 18:36:55 25999073732
Аноним 21/12/21 Втр 18:36:56 25999073933
>>259990685
обосрался и не прошёл по времени. Уноси своё интрерпайз говно отсюдава.
Аноним 21/12/21 Втр 18:37:28 25999076234
>>259988660 (OP)
> Тем более Python, который считается очень легким языком. На каком-нибудь С++ я бы это 3 дня решал.

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

Во, всё решение, ёпта:
// Для подсчета балансировки скобок
counter := 0

// Бегаем по каждому символу
for c in inputStr {
switch (c) {
case "(": counter++ // Увеличиваем счетчик скобок при открытой скобке
case ")": counter-- // уменьшаем при закрытой
default: continue // не скобка? Ну пошли дальше значит
}

// это сработает, если закрывающих скобок больше, чем открывающих, либо они тупо раньше в строке, мол, ") хуй ("
if counter < 0 {
return false
}
}

// проверям что скобки сбалансированы.
if counter == 0 {
return true
} else {
return false
}

>>259988885
Абсолютно стандартная задача для любого парсера. Иди нахуй, чмошник безграмотный.
21/12/21 Втр 18:37:53 25999078135
>>259988660 (OP)
У тебя получится, анон. Просто посчитай скобочки.
Если у тебя закрывающих скобочек становится больше, чем открывающих шли им false.
Аноним 21/12/21 Втр 18:37:58 25999078736
Аноним 21/12/21 Втр 18:38:25 25999081837
>>259990685
я то блять думаю, хули джава приложении такие говно тормознутное. Оказывается джава синьоры классическую задачу на стек через регулярку решают. Ебааааать
Аноним 21/12/21 Втр 18:39:09 25999085538
>>259989817
>>259989798

Пушто надо на каждой итерации проверять что скобки не уходят в минус, как тут >>259990762
21/12/21 Втр 18:39:50 25999088339
>>259989798
>>259989817

Если открывающих скобочек больше, чем открывающих, высылай false.

())(
1 откр 2 закр -> (1 < 2) -> false

)(
0 откр 1 закр -> (0 < 1) -> false
Аноним 21/12/21 Втр 18:40:34 25999091640
>>259990737
>>259990739
эх, детишки. есть задача ,есть решение, в условии нет требований к производительности, да и сложность тут один хер линейная. а вам кста перезвонят с вашими счетчиками и иф зен элсами
Аноним 21/12/21 Втр 18:40:34 25999091741
>>259988660 (OP)
а как ты реализовал? мне кажется через рекурсию можно ебануть довольно красиво
Аноним 21/12/21 Втр 18:40:47 25999093142
>>259988660 (OP)
Это элементарная задача на понимание структуры данных "стек", чего там больше пяти минут пердолиться? Может не пытаться по говнокурсам вайти, а в универ поступить?
Аноним 21/12/21 Втр 18:40:55 25999094543
>>259990818
> классическую задачу на стек

Нахуй тут стек? Регулярками конечно трешево, но стек-то тоже ни разу ни в кассу.
Аноним 21/12/21 Втр 18:41:05 25999095444
>>259990855
guard struna_so_skobkami.count % 2 !=0 else {return false}
В свифте есть гвард, в питоне можно просто if в функцию на старте запихать, нет смысла решать задачу как-то после осознания что количество скобочек нечетное
Аноним 21/12/21 Втр 18:41:23 25999097345
поясните непогромисту. с одним видом скобок надо просто проверять чтобы количество закрывающих никогда не превышало количество открывающих. с большим количеством видов скобок надо применять другие алгоритмы
Аноним 21/12/21 Втр 18:41:39 25999098846
>>259988660 (OP)
нет. обычная веб-макака не быстрее тебя её решать будет
Аноним 21/12/21 Втр 18:41:44 25999099347
>>259990954
там == а не != должно быть, ну вы поняли
Аноним 21/12/21 Втр 18:42:00 25999100448
как поставить на счетчик программистов с зп 300кк?
Аноним 21/12/21 Втр 18:42:11 25999101849
>>259990945
Покажи решение без стека, интересно
Аноним 21/12/21 Втр 18:42:20 25999102250
Аноним 21/12/21 Втр 18:42:13 25999102651
ОПчик, скинь своё решение.
Аноним 21/12/21 Втр 18:42:31 25999103052
>>259990973
И правильно это не пердолить одно решение 2-3 раза в зависимости от условий, а делать сразу правильно
Аноним 21/12/21 Втр 18:42:43 25999104453
Аноним 21/12/21 Втр 18:42:50 25999105254
>>259990916
челикс, твоё решение просто неправильное, праизвадительность ты сам выдумал тут
Аноним 21/12/21 Втр 18:42:58 25999106455
>>259991004
Оформить их по ИП и сломать прод
Аноним 21/12/21 Втр 18:43:45 25999110456
>>259990945
погугли, долбоёб, ещё предлагаю изучить что-нибудь прежде чем писать хуюту тут.
21/12/21 Втр 18:43:53 25999110957
>>259990973
Эмм... нет, там ведь то же самое - если закрывающая раньше открывающей, то вырубай машину
Аноним 21/12/21 Втр 18:43:53 25999111058
>>259990954
> нет смысла решать задачу как-то после осознания что количество скобочек нечетное

Хуйню какую-то написал. Во-первых, нахуй не нужный корнеркейс, который можно и так общим случаем обработать, во-вторых, всё-таки в реальном мире задача подсчета скобок предполагает что между ними что-то есть.

Какого тут космического эффекта дает guard -- непонятно.
Аноним 21/12/21 Втр 18:43:54 25999111459
>>259991022
с самого начала закрывающих боььше чем открывающих
Аноним 21/12/21 Втр 18:43:58 25999112060
>>259988885
Еблуша, алгоритмы подсветки скобок для редакторов решают именно эту задачу
Аноним 21/12/21 Втр 18:44:20 25999113961
gg
21/12/21 Втр 18:44:28 25999114762
>>259991064
Слышь, я тебя сам по IP оформлю, фуфел
Аноним 21/12/21 Втр 18:44:35 25999115263
>>259990916
там есть ограничение по времени и по памяти, ОП их не заскиринил
Аноним 21/12/21 Втр 18:44:37 25999115764
>>259989053
На олимпиаде это задачка решается в 1 строчку.
cout << true;
Половинные очки, считай получил, и время не потратил.
Аноним 21/12/21 Втр 18:44:40 25999116065
>>259991030
вот еще ебаться ради универской задачки
Аноним 21/12/21 Втр 18:44:46 25999116466
>>259990762
>if counter == 0 return true else return false

Ебало этого олимпиадника, который даже не понимает, что можно просто написать "return counter == 0", представили?
Аноним 21/12/21 Втр 18:44:56 25999118067
>>259988660 (OP)
Идешь по массиву и считаешь открывающие и закрывающие скобки. Если в какой-то момент открывающих больше - false. Если в конце количество не совпало - false. Иначе true.
Аноним 21/12/21 Втр 18:45:24 25999120168
>>259991104
Ясно, порвался. Ты бы ещё красночерным предложил бы это решать, клоун.

>>259991018 -> >>259990762

Аноним 21/12/21 Втр 18:45:31 25999121069
>>259991180
>Если в какой-то момент ЗАКРЫВАЮЩИХ больше - false
Быстрофикс.
Аноним 21/12/21 Втр 18:45:35 25999121770
49030956340603.jpg 38Кб, 1039x236
1039x236
1tajvp.jpg 47Кб, 1127x685
1127x685
Аноним 21/12/21 Втр 18:46:17 25999126371
>>259991110
Это свифтовая привычка
Я не знаю как в других языках, но например когда пишешь любой алгоритм сортировки, всегда начинаешь с
quard arr.count == 1 else {return arr}
Я думаю в других языках тоже аррей с 1 элементом считается отсортированным. Поэтому есть тенденция в гвард запихивать все корнеркейсы как ты их назвал
Аноним 21/12/21 Втр 18:46:37 25999127872
>>259988660 (OP)
по идее можно сделать цикл с проходом по всем символам и на каждую встреченную открывающую скобку искать дальше по строке закрывающую, после чего удалять закрывающую или запоминать её индекс. и если в конце остаётся неотмеченная закрывающая скобка или открывающая без пары или вообще если строка начинается с открывающей то сразу FALSE
Аноним 21/12/21 Втр 18:46:41 25999128473
>>259990931
> говнокурсам вайти, а в универ поступить?

Любой говнокурс по программированию лучше, чем то, что дают в среднем универе. В универ нужно идти не для того, чтобы научиться программированию, а чтобы получить хорошую математическую базу и начать шарить в алгоритмах. Чтобы стать васяном погромиздом на 90% вакансий универ нахуй не всрался.
Аноним 21/12/21 Втр 18:46:56 25999129774
>>259991217
как тебе сказать... завод это неплохая работа!
Аноним 21/12/21 Втр 18:46:57 25999129875
>>259988660 (OP)
А массивами пользоваться можно?
Можно по индукции найти закономерность, что правильные скобки - это четные и ( должен предшествовать ), короче для n=2: (), для n=4: ()(), (()) для n=6:()()(), ()(()), ((())) и т.д.
Т.е. как видишь следующие последовательности получаются из предыдущих добавлением для каждой из них либо () по разным сторонам от скобок, т.е. для n=4 это добавление для () сбоку скобки (), либо внутри (...), как например (()) новых скобок.
Короче, создаешь массивы строк правильных скобок для хотя n=32, а потом через поиск находишь соответствует ли входная скобка правильной, просматривая массив и находя подобную скобку, если не найдена, то скобка неправильная.
Аноним 21/12/21 Втр 18:47:02 25999130576
>>259991160
Хуй там, первая подзадача не решена, остальные не проверяются.
Аноним 21/12/21 Втр 18:47:12 25999131377
>>259990818
чувак, парсер регулярок в сто раз тебя умнее и он проверит даже блять оптимальнее чем твое посимвольное корявое поделие. На строке в 100 миллионов символов проверка этой регулярки отрабатывает за 93 мс, и это возможно даже лучше чем втое кривое косое поделие, по крайней мере уж никак не хуже. учите матчасть епта
Аноним 21/12/21 Втр 18:47:29 25999132778
Аноним 21/12/21 Втр 18:47:35 25999133179
>>259988660 (OP)
Алгоритм простой на стек, решается в один проход.
Бежим по строке слева направо, когда встречаем открывающую скобку заносим оную в стек, при закрывающей вытаскиваем значение из стека. В конце если стек пустой - последовательность верна. Работает с любым количеством скобок. Линейная сложность алгоритма O(n).
Знатоки, правильно решил?
Аноним 21/12/21 Втр 18:47:51 25999135080
>>259989817
>>259989798
Бля обосрался
А если тогда сделать чтобы иф посимвольно проверял строку, когда находит ( в переменную записывается номер символа и дальше считвает пока не найдёт ) эти две скобки удаляются, если в строке не осталось символов тру, если что то осталось фолс. Проверьте, а то чувство что опять проебался.
Аноним 21/12/21 Втр 18:47:59 25999135481
image.png 510Кб, 800x520
800x520
>>259990685
>синьор помидор 300КК нсек
каунтер++
ёпта
Аноним 21/12/21 Втр 18:48:12 25999136682
>>259991164
Ого, ну нихуя себе, ты сэкономил целых пару строк условного иллюстративного псевдокода на выдуманном языке, вот это да! Ты наверно такой умный!
Аноним 21/12/21 Втр 18:48:16 25999137483
>>259991217
Скинь ссулку на сайт, чтобы синьор жаба-долбоёб и джун стек-ненужен проверили свои решение и поняли как они обосрались.
Аноним 21/12/21 Втр 18:48:55 25999140784
>>259991327
Учитывая быстрофикс - не выдаст. На первом же элементе закрывающих больше - значит false.
Аноним 21/12/21 Втр 18:49:30 25999143885
>>259989159
>Тем более все эти алгоритмы легко гуглятся
Как гуглить алгоритмы? Как понять какой алгоритм для конкретной задачи нужен? Как допустим из трёх алгоритмов определить самый подходящий под конкретный случай, допустим из трёх доступных?
Аноним # OP 21/12/21 Втр 18:49:38 25999144486
Аноним 21/12/21 Втр 18:49:40 25999144787
>>259991350
Бля пока писал уже дохуя кто решение написал похожее
Аноним 21/12/21 Втр 18:50:29 25999149288
>>259991263
Это обычный ассерт. Ничего специфичного свифту тут нет. И корнеркейс тут банально не нужен.
Аноним 21/12/21 Втр 18:50:35 25999149889
>>259991331
Да. Это задача часто встречается на собесах где я и обосрался
Аноним 21/12/21 Втр 18:50:37 25999149990
tekken 6 psp me[...].webm 1775Кб, 480x272, 00:01:28
480x272
Аноним 21/12/21 Втр 18:50:39 25999150491
>>259991298
Можно ещё пиздаче сделать. Хуярим нейронку (трансформер) и тренируем его на миллионе примеров.
Аноним 21/12/21 Втр 18:51:24 25999155292
>>259988660 (OP)
Изичная задача же, ты чего
мимо бывший инженер-конструктор, перекатившийся с завода в с++
Аноним 21/12/21 Втр 18:51:24 25999155593
>>259991284
так нахуя в среднем вузе учиться? кроме топ вузов почти все универы говно
21/12/21 Втр 18:51:52 25999157594
>>259991354
Пятки поднял - уважение программистов потерял
Аноним 21/12/21 Втр 18:52:03 25999158495
>>259991552
Так ты то инженер, а не макака
Аноним 21/12/21 Втр 18:52:09 25999159096
Аноним 21/12/21 Втр 18:52:22 25999160397
>>259991331
Хуета, можно и без стека обычным счетчиком -- это раз

На каждой итерации надо проверять что счетчик не ушел в минус, т.е. что закрывающиеся скобки не появились раньше открывающихся.

Аноним 21/12/21 Втр 18:52:37 25999160698
Поэтому надо блять учить алгоритмы и структуры данных. Расскажите вкатывальщикам про стэк
21/12/21 Втр 18:52:47 25999162199
Аноним 21/12/21 Втр 18:52:51 259991630100
>>259988660 (OP)
Тоже пытался вкатиться в пограмирование некоторое время назад и тоже решал подобные задачки, у меня друган есть синьор помидор на яве 200к в наносекунду, так я её терроризировал постоянно с помощью по задачкам, так вот мы вместе сидели и тупили как правильно это сделать. С реальными рабочими задачами эта хуйня имеет мало общего.
Аноним 21/12/21 Втр 18:53:19 259991657101
Аноним 21/12/21 Втр 18:54:42 259991715102
>>259991630
к сожалению имеет, просто часто этого разрабы не видят, и решают задачи не оптимальным образом. Современное железо, к счастью, позваляет.
Аноним 21/12/21 Втр 18:55:30 259991752103
>>259991298
Короче выглядит так
1 Создать большой список или массив строк
2 Первый (нулевой) элемент массива равен (), т.е. n=2
3 Заполнить оставшиеся элемента списка или массива прибавлением или конкатенацией скобок '()' + 'предыдущая правильная последов скобок',
либо 'предыдущая правильная последов скобок'+')',
либо '('+'предыдущая правильная последов скобок'+')'
4 Делаем так n раз, например 64 или 100
5 Получаем массив правильных скобок
6 Получаем входную скобку через функцию и ищем ее в массиве правильных скобок
7 Если найдена - вывести True, иначе False
Аноним 21/12/21 Втр 18:55:31 259991753104
>>259991313
> чувак, парсер регулярок в сто раз тебя умнее и он проверит даже блять оптимальнее
беспруфный джава петушок, пожалуйста, да и вообще, сейчас бы регулярками подсчитывать количество символов, даже не представляю, какой говнокод ты высираешь ежедневно
Аноним 21/12/21 Втр 18:55:31 259991754105
>>259989975
Решу с 1 счетчиком.
Берешь счетчик.
Запускаешь цикл
В цикле берешь след символ.
( - плюсуешь 1
) - минусуешь 1
На каждой итерации проверяешь, счетчик меньше нуля - брейк.
После цикла, счетчик 0 - все окей. Не 0 - последовательность говно.
Аноним 21/12/21 Втр 18:55:43 259991763106
>>259991438
>>259991657
Не надо степик или любые другие платформы кроме
https://openedu.ru/course/ITMOUniversity/PADS/
Проходите его, отвечайте на задания, потом можно даже корку с ИТМО запросить, это лучше чем срань для детей на степиках
Аноним 21/12/21 Втр 18:55:46 259991765107
>>259988660 (OP)
Просто твой мозг не привык решать такие задачки, решай дальше.
Аноним 21/12/21 Втр 18:56:32 259991810108
16276867118720.jpg 113Кб, 706x720
706x720
>>259991590
Безграмотный клоун пытаться доказать что обычная задача на один интовый счетчик должна решаться через целый стек?

Ты давай, нейронку ещё прикрути и ещё больше на формошлепов повыебывуйся -- так чтоб ну совсем комично было.

>>259991621
> Пытается играть в кодгольф псевдокодом, иллюстрирующим простой алгоритм
> Делает вид, что не тупой

Макака, ты бы ещё умением джавадок писать выебнулся.
Аноним 21/12/21 Втр 18:56:52 259991826109
>>259991765
Тем более если ты не знаешь оч такое стек заебешься решать
Аноним 21/12/21 Втр 18:57:31 259991853110
>>259990685
Неверное решение. Если не понимаешь, почему, то дебил.
())(()
Аноним 21/12/21 Втр 18:57:31 259991855111
>>259991754
А теперь скобки бывают ещё кадратные. Твоё решение?
Аноним 21/12/21 Втр 18:58:59 259991913112
>>259990301
> Классическая задача на стек

Классическая задача на стек -- это обратная польская нотация. А тут стек алгоритм в O(1) по памяти превращается в O(n) в худшем случае. ХУЕТА и стек тут не нужен. Задача с 1 курса универа, буквально Laba3.pas, ебана. Пиздец вкатывальщики пошли, я хуею.
Аноним 21/12/21 Втр 18:59:16 259991923113
>>259991810
ты нахуя в треде срёшь, если у тебя есть возможность всё доказать решив задачу?
Аноним 21/12/21 Втр 18:59:52 259991958114
охуеть
Аноним 21/12/21 Втр 19:01:12 259992021115
Screenshot2021-[...].png 105Кб, 1347x527
1347x527
>>259990217
Охуенно высокооплачиваемая да. Иногда вкатываюсь на джуна непонятно зачем. Недавно сделал очередное тестовое. Пиздец говна поел со всеми этими мавенами, спрингами, хибернейтами, жсонами и прочей поеботой. Просто блять вагонище тупорылый технологий, смысл которых вообще не понятен почему блять именно хибернейт, почему нельзя JDBC а потом уже на стажировке тыкать хибернейт? Предлагают стажировку джуном 3 мес. зп - 10к меньше минималки, да, типа буду на 0.75 ставки или как там. Блять я когда на сврщика учился в пту по путевке от цзн - я меньше килограмма электродов сжег, и меня уже мастер звал работать куда-то за 25к для начала. И сварщиком если вкалывать как и кодером, зарплата будет не меньше, и зная язык можно оформить перекат в норм страну.
Аноним 21/12/21 Втр 19:01:53 259992053116
>>259991923
Её уже N раз в треде решили:

>>259991754

В т.ч. с примером на псевдокоде: >>259990762

Всё без стека прекрасно решается. Вообще нахуй не нужен стек, если тебе не надо знать какие-то детали про каждый элемент на стеке. В данной задаче достаточно понимать что скобки должны в итоге засумммироваться в 0 и всё.
Аноним 21/12/21 Втр 19:01:57 259992056117
>>259991217
Бля в голос
Попробуй нормально через стек решить
Аноним 21/12/21 Втр 19:02:04 259992060118
>>259988660 (OP)

Посчитал количество символов одного типа и второго типа, если не равны = false. Тебя чисто синтаксис доебал?

Я ничего сложнее экселя никогда в руках не держал, но прост если проблема в самой форме записи то это дело наживное, главное вникать и закладывать в голову все больше с каждым днем. Если проблема в том чтобы написать код который сам определит, какие символы в тексте должны совпадать по количеству, то ты там дата саентистом что ли идешь?
Аноним # OP 21/12/21 Втр 19:02:42 259992086119
Аноним 21/12/21 Втр 19:02:47 259992092120
def is_correct_bracket(text):
count = 0
for i in text:
if i == '(':
count += 1
elif count > 0:
count -= 1
else:
return False
return count == 0
Аноним 21/12/21 Втр 19:03:07 259992102121
>>259991855
Отдельный счетчик для каждого уровня вложенности. Проще не могу придумать.

мимокрок
Аноним 21/12/21 Втр 19:03:14 259992106122
>>259992060
строка ")(())(" ссыт твоему решению на ебало
Аноним 21/12/21 Втр 19:03:17 259992109123
Аноним 21/12/21 Втр 19:03:30 259992117124
Аноним 21/12/21 Втр 19:03:49 259992131125
Аноним 21/12/21 Втр 19:03:51 259992134126
var b = function(text) {
if (text.trim() == '') {
console.log('text is empty');
return false;
}
if (text.match(/[^\(|\)]+/i)) {
console.log('text contains incorrect symbols');
return false;
}
if (text.match(/^\)/i) || text.match(/\($/i))
return false;

var open = 0;
var close = 0;
for (var i = 0; i < text.length; i++) {
if (text == '(')
open++;
else if (text == ')')
close++;
}

if (open != close)
return false;

return true;
}

Все верно или чего-то не учел?
Кстати тоже два часа примерно ебался
Аноним 21/12/21 Втр 19:04:05 259992140127
>>259991331
Что будешь вытаскивать из стека если первая скобка - закрывающая?
Аноним 21/12/21 Втр 19:04:27 259992153128
>>259992092
>>259992060
>>259990762
Мда, в треде не поняли, что последовательность
)()( - не является правильным, даже несмотря на то, что число ( и ) совпадает, вы условия читайте нормально
Аноним 21/12/21 Втр 19:04:33 259992160129
>>259992060
А, да, я понял. Я долбаеб. Ну что ж, интересно даже.
Аноним 21/12/21 Втр 19:04:49 259992176130
Куда вкатываться, если в мухосрани живешь?
Аноним 21/12/21 Втр 19:04:52 259992179131
>>259991855
Ты мне оффер-то пришлешь, или я тут бесплатно тебя развлекаю?
Олимпиадное решение писал выше.
Аноним 21/12/21 Втр 19:05:42 259992222132

>>259992153

ты, хуило, прежде чем что-то высирать, код прочти нормально. Твой пример успешно будет задекчен.
Аноним 21/12/21 Втр 19:06:39 259992274133
>>259992131
Для этого случая работает. Получается, нужно завести массив счетчиков и добавлять элемент каждый раз, когда открывается скобка другого типа. Тогда ты уже на третьем элементе получишь -1 и, соответственно, false.
21/12/21 Втр 19:06:40 259992277134
>>259992021
Полоска посреди экрана чтобы не писать длинных строчек?
Аноним 21/12/21 Втр 19:06:46 259992281135
>>259992222
Трипло квадрипл дай денег
Аноним 21/12/21 Втр 19:08:11 259992353136
>>259992021
> Просто блять вагонище тупорылый технологий, смысл которых вообще не понятен почему блять именно хибернейт, почему нельзя JDBC а потом уже на стажировке тыкать хибернейт?

Это ты просто сам тупорылый, раз не понимаешь такие простые абстракции. Ты бы ещё поныл, что чёт сложно, давай проводочек руками замыкать и сигналы так в базу слать, а то какие-то драйверы, пиздец, сложно же.

> Предлагают стажировку джуном 3 мес. зп - 10к
Да это ещё и охуеть, ты же вообще не умеешь нихуя. Тебе в пору бы самому раскошелиться и хоть на какие-то курсы сходить, а то ты же реально в принципе не понимаешь что происходит.
Аноним 21/12/21 Втр 19:08:27 259992364137
>>259992179
> Ты мне оффер-то пришлешь, или я тут бесплатно тебя развлекаю?
Проиграл, могу тебе говна в рот из моей жопы прислать.
Аноним 21/12/21 Втр 19:08:32 259992366138
>>259992140
Проверяем, пустой ли стек, перед тем как вытаскивать.
Аноним 21/12/21 Втр 19:09:09 259992392139
>>259988660 (OP)
А хули сложного.
Ждёшь первую скобку. Если она открывающаяся, идёшь дальше, если нет, сразу false
Идём дальше. Делаем 2 переменных счётчика. Одна для (, другая для )
Если в конце строки оба счётчика равны, выводим тру, иначе фолс.

Мимо тред не читал
Аноним 21/12/21 Втр 19:09:23 259992410140
(((Жиды)))
Аноним 21/12/21 Втр 19:09:58 259992445141
Аноним 21/12/21 Втр 19:10:00 259992448142
>>259988660 (OP)
Это задача из синтаксических анализаторов, парсеров, там целая теория по грамматикам и тд, тут не так всё просто. Мне её объясняли как решать в шараге, хотя я и сам до этого калькулятор для любых выражений писал. Не помню уже за сколько этот анализатор тогда написал, но больше чем за 3 часа явно, мб за несколько дней даже. Так что не так всё плохо, если ты дел с прогой до этого вообще не имел
Аноним 21/12/21 Втр 19:10:16 259992459143
>>259992153
> Мда, в треде не поняли, что последовательность )()( - не является правильным

Всё поняли, читай внимательно >>259990762 -- там внутри цикла на каждой итерации проверка что закрывающая скобка не появилась раньше времени (if counter < 0)
Аноним 21/12/21 Втр 19:10:51 259992496144
>>259992086
Это такой список, к которому можно добавлять элементы только в конец и убирать их тоже только из конца.
то есть ты просто создаешь в пятоне список и "играешь" по этим правилам. Подумай как ты можешь стек использовать в этой задаче.
Аноним 21/12/21 Втр 19:11:12 259992515145
>>259988660 (OP)
Это задача на знание и понимание стандартных алгоритмов и структур данных, а именно стека, ну и проверка на то, что у тебя есть обычная, человеческая логика и здравый смысл. Если ты её решил за три часа не зная, что такое стек - то ты сверхразум и очень далеко пойдешь, без шуток.
> Тем более Python, который считается очень легким языком. На каком-нибудь С++ я бы это 3 дня решал.
В такого рода задачах язык ни на что не влияет, максимум - придётся гуглить стандартную библиотеку, если ты её не не знаешь.
Аноним 21/12/21 Втр 19:11:41 259992544146
>>259992448
> Это задача из синтаксических анализаторов, парсеров, там целая теория по грамматикам и тд, тут не так всё просто

Тут всё супер-просто. Подсчет скобок вообще самая тупая и тривиальная задача из области парсинга поэтому в машиночитаемой хуйне так часто используются всякие скобушки, не надо никаких грамматик выдумывать.
Аноним 21/12/21 Втр 19:12:30 259992582147
Аноним 21/12/21 Втр 19:12:48 259992597148
Аноним 21/12/21 Втр 19:13:00 259992607149
Аноним 21/12/21 Втр 19:13:32 259992636150
21/12/21 Втр 19:13:52 259992656151
>>259992515
>Если ты её решил за три часа не зная, что такое стек - то ты сверхразум и очень далеко пойдешь, без шуток.
Как же жирно, боже.
Аноним 21/12/21 Втр 19:14:13 259992670152
>>259992597
Хуясно. Балансировка скобок у него сложных грамматик требует, ну пиздец довеню
21/12/21 Втр 19:16:24 259992771153
>>259988660 (OP)
А что там решать? Заводишь счетчик. Прибавляешь 1, если скобка "(", и отнимаешь 1, если скобка ")"/
Если в какой-то момент в счетчике отрицательное число, возвращаешь false. Иначе true.
Аноним 21/12/21 Втр 19:16:32 259992778154
>>259992515
> Это задача на знание и понимание стандартных алгоритмов и структур данных, а именно стека

Это задача не на стек нихуя. Поздравляю, ты нихуя не понимаешь что такое стек и какие у него свойства.

Нам в этой задаче нахуй не надо знать детали каждого элемента на стеке, достаточно осознания что скобки друг друга закрывают и одного счетчика для их подсчета.
Аноним 21/12/21 Втр 19:17:16 259992835155
>>259992778
O(1) vs O(n) по памяти, в пользу счетчика.
Аноним 21/12/21 Втр 19:17:30 259992845156
ОПчик, спасибо за тред, из-за довенов в ответах прям синдром самозванца пропадает!
Аноним 21/12/21 Втр 19:17:58 259992867157
Аноним 21/12/21 Втр 19:18:29 259992895158
>>259988885
>Хуйня, а не задача. На практике это нигде не пригодится.

Мне похожие задачки на интервью давали много раз.
Аноним 21/12/21 Втр 19:18:52 259992913159
>>259988660 (OP)
в целом это тебе базовую идею стека дают, скажем какая нибудь польская запись - считай та же самая идея, не парся анон, по началу всем непросто, учи и выучишь - гарантирую
21/12/21 Втр 19:18:59 259992920160
>>259992867
Действительно. Нужно, чтобы в конце было 0.
Аноним 21/12/21 Втр 19:19:07 259992930161
>>259992845
Два чая, я как раз переживал что плохо за структуры шарю и иногда переусложняю с ними. А тут задачу на счетчик стеком решают, пиздец.
21/12/21 Втр 19:19:25 259992950162
Аноним 21/12/21 Втр 19:20:02 259992979163
>>259992670
Дурачек ебанутый, не бомби, я во-первых, не с тобой разговаривал и вообще просто подбодрил чела. Грамматику в две строчки даже для этого стоит написать просто для того чтоб легче код было составить. А свою душноту ну тут все просто это тривиально и тд на собесе мне расскажешь, тут мне хуету написывать не надо, не интересно
Аноним 21/12/21 Втр 19:20:13 259992996164
print(s[0]=="(" and s.count(")") == s.count("("))
Аноним 21/12/21 Втр 19:20:18 259992999165
>>259988660 (OP)
Корректная скобка начинается с "(" и заканчивается ")", остальное не имеет значения, это же из примеров видно. Джуниоры ёбаные, счетчики какие-то придумывают, циклы...

мимо помидор
Аноним 21/12/21 Втр 19:20:27 259993011166
>>259988660 (OP)
Ну 3 часа это еще нихуево, я именно на эту задачу вообще весь вечер потратил когда учился.
Не ссы, это нормально.
мимо 250к/мес дата сайнс питонист без рофла
Аноним 21/12/21 Втр 19:20:36 259993021167
>>259992950
я обобщил идею, дегенерат, если тебе попросят считать 10 видов скобок? ты сделаешь 10 счетчиков, да?
21/12/21 Втр 19:20:42 259993026168
Аноним 21/12/21 Втр 19:20:55 259993039169
>>259992778
Ты прав, у меня просто сознание извращено литкодом и техническими интервью, и я подразумевал, что следующим вопросом будет "а что если скобочки будут разными?"
Для задачи из ОП-пика стек не нужен.
Аноним 21/12/21 Втр 19:21:00 259993043170
>>259992913
Да какого стека, нахуй тут стек не нужен -- наоборот детект дебила, который не знает для чего полезен стек. Одно дело польская запись, когда тебе реально на стеке надо детали какие-то хранить, а потом при обходе обрабатывать. Другое дело тут, когда можно счетчик воткнуть.
21/12/21 Втр 19:21:26 259993063171
>>259993021
Я сделаю массив счетчиков. Нахуя там стек, даун?
Аноним 21/12/21 Втр 19:21:47 259993088172
>>259992999
>остальное не имеет значения
())(()
И чё?
Аноним 21/12/21 Втр 19:22:06 259993104173
>>259993043
на интервью нормальном тебе эту задачу разовьют до стека не волнуйся, дебил, пока в джунах посиди
Аноним 21/12/21 Втр 19:22:15 259993121174
>>259992996
Выкатывайся из кодинга.
Аноним 21/12/21 Втр 19:23:07 259993175175
>>259988660 (OP)
Задача нихуя не простая, это считай интерпретатор япа на минималках надо написать.
Аноним 21/12/21 Втр 19:23:37 259993199176
>>259993063
Попробуй массивом счетчиков распарсить ({)}.
Аноним 21/12/21 Втр 19:24:05 259993231177
>>259992979
Хоспаде, как же я люблю безграмотных дебилов, которые несут какую-то хуету, а потом жалуются что им "душно", когда их закономерно покрывают хуями за их хуйню.

Пиздец, грамматику он собрался "писать", чтобы скобки балансировать, что за клоун, а.
Аноним 21/12/21 Втр 19:24:10 259993237178
>>259993175
>Задача нихуя не простая
>один цикл с одним же счетчиком и подсчетом результата в конце
21/12/21 Втр 19:24:32 259993259179
>>259993199
>Попробуй массивом счетчиков распарсить ({)}.
А кто сказал, что эта последовательность некорректна?
Аноним 21/12/21 Втр 19:24:47 259993267180
Аноним 21/12/21 Втр 19:25:23 259993300181
Оп, ты ебнулся такую хуйню решать? Это же задание для собеседования на миддла, не меньше.
21/12/21 Втр 19:25:33 259993312182
Аноним 21/12/21 Втр 19:25:35 259993317183
>>259988660 (OP)
> нужно иметь очень высокий интеллект, чтобы вкатиться в программирование и сильные математические способности
Нет, достаточно иметь средний интеллект, внимательность и усидчивость. Но программирование весьма жестоко в этих требованиях. Если твой интеллект НИЖЕ среднего, то это сразу всё, ловить тебе тут нечего. От тебя требуется понимать множество довольно простых вещей, но у тебя при этом нет права на затуп. Да, эти вещи простые, но если ты что-то не сможешь понять, то тебе никто не поможет, а без этого понимания ты не сможешь двигаться дальше. Тут нельзя сказать "хуй с ним" и надеяться, что результат просто будет чуть хуже, что потом можно будет скомпенсировать опытом. Про математические способности это вообще смешно, говорю, как чел с топ математическими способностями (если конечно ты не имеешь ввиду способность посчитать "2 + 2 х 2")
>>259989053
Посмотрел бы на такую олимпиаду, лол. Это задача на отработку синтаксиса языка: циклов и условий. Автор, наверное, даже не подозревал, что для кого-то станет проблемой сама логика задачи
Аноним 21/12/21 Втр 19:26:17 259993345184
>>259993104
Сам ты дебил и джун. И если мне внезапно на интервью попытаются эту хуету развить в стек, я сразу же оттуда съябусь, ибо понятно что передо мной оказался студентик, который про структуры данных прочитал, а подсчитывать сложность алгоритма не научился.

Пиздец, стек для балансировки скобок.
Аноним 21/12/21 Втр 19:26:32 259993354185
Очевидно задачу надо решать через SMT-солвер, кто этого не понимает - макисмум джуны!
Аноним 21/12/21 Втр 19:26:34 259993358186
Аноним 21/12/21 Втр 19:26:37 259993361187
>>259993317
А если хуево с внимательностью?
Аноним 21/12/21 Втр 19:27:05 259993388188
Аноним 21/12/21 Втр 19:27:14 259993396189
>>259991754
А теперь представь, что у тебя сначала идёт пять закрывающих скобок подряд, а потом пять открывающих. По твоей программе это будет правильной последовательностью, поскольку в сумме счётчик будет ноль.
Мимо решал задачу посложнее на Олимпиаде
21/12/21 Втр 19:27:16 259993400190
>>259993011
А ты её решал через счётчик или через стек?

Я решил её за полчаса-час примерно, в рамках пары
мимо 12к/мес стрит клининг спешиалист
Аноним 21/12/21 Втр 19:27:39 259993417191
>>259993088
Ладно, я тупой, задача была про скобочную последовательность , а не про то, что правильно были использованы скобки, невнимательно прочел. Спасибо автору за то, что убирает мне конкуренцию, понижая вкатунам самооценку и давай задачки, которых не почти никогда бывает в реальности.
Аноним 21/12/21 Втр 19:28:30 259993464192
Аноним 21/12/21 Втр 19:28:49 259993480193
>>259993388
Иди про O(n) почитай, вкатывальщик. Без понимания этой истории все твои "знания" про структуры данных -- говно полнейшее. Ты же даже не понимаешь как оценить объективно какая структура и подход для какого кейса лучше.
Аноним 21/12/21 Втр 19:29:01 259993493194
perl -le '$_="()(()())";1 while s/\(\)//;print $_;print qw(false true)[!$_]'
Аноним 21/12/21 Втр 19:29:18 259993507195
>>259993361
Это кое-как тренируется (не внимательность вообще, а внимательность в конкретной области применения)
Аноним 21/12/21 Втр 19:30:13 259993559196
>>259993400
Через нейронку прогнал по фасту, ну есть пару либ для питона, хз как по другому решать, задача не из простых, очевидно. Макбук чуть не перегрелся.
Аноним 21/12/21 Втр 19:30:24 259993570197
>>259993480
>вкатывальщик гедто услыщал про O notation
так жалко вкатывальщиков ппц, дегенератам ничего не светит
Аноним 21/12/21 Втр 19:30:46 259993591198
тупое решение - гоняем цикл, каждый раз заменяя "()" на "".
если невозможно - все, выводим фалс.
О(n^n/2) сложность.

хитрое - 2 счетчика.
первое - проверка четности лен(стр).
нечетное - фалс.
левые и правые.
проход слева.
считаем левые, вычитаем из них правые. если сумма меньше нуля - брейкаем, фалс.


Аноним 21/12/21 Втр 19:31:45 259993659199
Screenshot2021-[...].png 125Кб, 1366x588
1366x588
>>259992353
Ну так вот. Знать надо просто овердохуища, чтобы попасть на эту не самую оплачиваемую работу. В любую другую профессию вкат не требует такого адового задрачивания.

Вот вроде оповскую задачку решил
21/12/21 Втр 19:32:16 259993682200
>>259993559
У тебя макбук? Ты что, гей?
Аноним 21/12/21 Втр 19:33:01 259993735201
>>259993231
Так ты сам кринжовую хуйню высираешь, у тебя логика макаки формошлепа который бежит сразу формошлепить. Тебе вопрос зададут как задачу решать, ты в слух грамматику озвучишь и все, вопросов вообще к тебе не будет. Не понимаю в чем тут проблема, может ты взорвался из-за незнакомых слов? Не знаешь как грамматику составить для этого тривиального случая?
Аноним 21/12/21 Втр 19:33:29 259993759202
>>259993682
Нет не гей, а метросексуал. Ну вообще я не против геев, моя девшука и ее бойфренд тоже ничего против не имеют.
Аноним 21/12/21 Втр 19:34:18 259993804203
>>259993570
Пиздец у тебя кодстайл, конечно. Учиться и учиться.

Нахуй ты пытаешься стек тут построить? Он тут не нужен, тебе банально не за чем хранить эту хуету на стеке лишний раз.
21/12/21 Втр 19:34:35 259993819204
>>259993759
Метросексуал? Тебя уже отпустили, после того как ты девок в метро по жопам шлёпал и на дваче хвастался?
Аноним 21/12/21 Втр 19:34:50 259993833205
Аноним 21/12/21 Втр 19:34:57 259993838206
>>259993237
Кому ты пиздишь, маня, эта задача не решается циклами или регулярками.
Там надо через стек все это прокидывать.
Процесс буквально тот же самый, что в интерпретаторах япов, эту задачу рассматривают на курсе компиляторов/интерпретаторов.
Аноним 21/12/21 Втр 19:35:35 259993877207
>>259993396
Чел, не ебись в глаза
> На каждой итерации проверяешь, счетчик меньше нуля - брейк.
На твоей последовательности счетчик на первой же закрывающей скобке уйдет в минус, цикл вылетит, счетчик не равен нулю. Фолс.
Аноним 21/12/21 Втр 19:36:10 259993906208
>>259993819
Еще и опустили, но я не теряю духа, жизнь продолжается.
Аноним 21/12/21 Втр 19:36:48 259993945209
image.png 8Кб, 502x251
502x251
Аноним 21/12/21 Втр 19:37:01 259993955210
>>259988660 (OP)
Решается за 1 минуту, если скобка открывающая, пихаем в стек, если закрывающая, то вынимаем из стека, если вынуть не можем, фейл, если в конце стек непустой, фейл. Все. Любой прочитавший одну книгу по написанию компиляторов это знает.
Аноним 21/12/21 Втр 19:37:02 259993956211
>>259993838
Эта задача из курса для 6-классников, которые впервые узнали, что такое программирование. Какой нахуй стек?
Аноним 21/12/21 Втр 19:37:16 259993969212
>>259993877
Всё понял, спутал со своей задачей, спасибо Анон.
Аноним 21/12/21 Втр 19:37:52 259994011213
изображение.png 27Кб, 658x576
658x576
Аноним 21/12/21 Втр 19:38:45 259994065214
>>259993267
Так еще хуже, потому что прибавляя значения не разделяя тип скобок, ты делаешь все счетчики одинаковыми.
Если я неправильно тебя понял, то покажи решение - https://leetcode.com/problems/valid-parentheses/
Аноним 21/12/21 Втр 19:40:33 259994167215
>>259988885
Долбоебик, засада выполняет свою работу. Тот, кто не может ее решить на практике никому нахуй не нужен. Ору с погромистов с нулевым интеллектом.
Аноним 21/12/21 Втр 19:40:33 259994168216
Аноним 21/12/21 Втр 19:40:39 259994174217
всем вкатывальщика которые форсят решение через счетчик

>преждеверменная оптимизация
>не способность обобщить решение

спасибо мы вам перезвоним
Аноним 21/12/21 Втр 19:41:29 259994217218
>>259990406
def isvalid(str):
if len(s) % 2 != 0:
return False
else:
n = len(s)
while n >= len(s):
s = s.replace('()','')
s = s.replace('{}','')
s = s.replace('[]','')
n -= 2
return bool(s) is False
Аноним 21/12/21 Втр 19:41:54 259994251219
Аноним 21/12/21 Втр 19:42:13 259994271220
>>259988660 (OP)
Какой же ты тупой хуесос, у меня просто слов нет, пидор
Аноним 21/12/21 Втр 19:43:57 259994365221
21/12/21 Втр 19:44:43 259994397222
>>259993906
Мы с тобой, анончик! Лови сердечко <3
Аноним 21/12/21 Втр 19:46:27 259994468223
>>259988660 (OP)
Мб я чего-то не понял, но вроде не такая сложная задача, чтобы прям 3 часа решать. Вот накидал минут за 10 на c#:


using System;

public class HelloWorld {
public static void Main() {
Console.WriteLine(is_correct_bracket("()(()())").ToString());
Console.WriteLine(is_correct_bracket(")(())(").ToString());
}

static bool is_correct_bracket(string text)
{
int closedDifference = 0;

for (int i = 0; i < text.Length; i++)
{
if (text.ToString() == "(")
{
closedDifference++;
}
else
{
closedDifference--;
}

if (closedDifference <= -1)
{
return false;
}
}

return (closedDifference == 0);
}
}


Рейт
Аноним 21/12/21 Втр 19:47:12 259994504224
21/12/21 Втр 19:47:40 259994534225
>>259994167
>засада выполняет свою работу
Капитулировал с партизана
21/12/21 Втр 19:48:26 259994569226
>>259994174
>не способность
а что тогда?
Аноним 21/12/21 Втр 19:48:31 259994574227
Вроде просто все, и правильное решение уже писали выше

Единственный проход по циклу, таким образом алгоритм линеен

Счетчик наращивается или уменьшается на каждом символе. Для ( он увеличивается, для ) уменьшается. Если значение счетчика в любой момент стало отрицательным, то False. В конце счетчик должен быть равен нулю, иначе False

мимо-вечный-джун без ума и талантов
Аноним 21/12/21 Втр 19:50:03 259994642228
>>259994504
нет не обоссывает. хотя она сука самая коварная
Аноним 21/12/21 Втр 19:50:50 259994676229
>>259994642
Да, согласен, протупил. Сковарностью согласен.
Кароч вот это решение самое правильное - >>259994574
Аноним 21/12/21 Втр 19:50:52 259994679230
Аноним 21/12/21 Втр 19:51:00 259994686231
Аноним 21/12/21 Втр 19:51:50 259994734232
Аноним 21/12/21 Втр 19:53:23 259994809233
>>259993659
>Ну так вот. Знать надо просто овердохуища, чтобы попасть на эту не самую оплачиваемую работу. В любую другую профессию вкат не требует такого адового задрачивания.

Ну дак вкатывайся в любую другую сферу, в чем смысл твоего нытья?
21/12/21 Втр 19:53:46 259994828234
Аноним 21/12/21 Втр 19:53:53 259994836235
>>259994569
Слишком тонко подъебал технаря. Не поймет.
Аноним 21/12/21 Втр 19:54:48 259994876236
>>259994828
Да, обоссывает только первого, где на js решение
Аноним 21/12/21 Втр 19:55:43 259994926237
>>259993956
Приведи решение без использования стека
Аноним 21/12/21 Втр 19:55:53 259994933238
Аноним 21/12/21 Втр 19:56:03 259994940239
>>259994174
Хуя фантазии у дурачка. Ты бы хоть на собес хоть раз в жизни сходил, прежде че-то там фантазировать.
Аноним 21/12/21 Втр 19:56:47 259994981240
Аноним 21/12/21 Втр 19:57:11 259995005241
Аноним 21/12/21 Втр 19:57:43 259995035242
>>259994468
Просто посчитать, чтобы число открывающих и закрывающих скобок совпадало, недостаточно: >>259993088
Аноним 21/12/21 Втр 19:59:29 259995116243
Аноним 21/12/21 Втр 19:59:32 259995119244
>>259995035
полноценные пары надо считать.
если что-то останется, то фалсе.
Аноним 21/12/21 Втр 19:59:47 259995139245
От пизды набросал за 5 минут
Знаю, что надо было сделать функцию, которая возвращает бул, но мне лень

using System;
class HelloWorld {
static void Main() {
string skobs = "())))())()()(((()())(())))(()((((";
string skobsPrev = "";
while(skobs.Length != 0)
{
skobsPrev = skobs;
skobs = skobs.Replace("()","");
if(skobs == skobsPrev)
{
Console.WriteLine("False");
break;
}
Console.WriteLine(skobs);
}
}
}
Аноним 21/12/21 Втр 20:00:29 259995178246
>>259988660 (OP)
Ты довен? Через стэк за 5 минут пишеться решение. Всё открывающие суем в него, если закрывающая снимаем вершину. Если стек в конце больше 0 false
Аноним 21/12/21 Втр 20:00:30 259995179247
Аноним 21/12/21 Втр 20:00:32 259995181248
немножко писал для себя всякие скриптики на питоне, но сейчас поймал себя на мысли, что не знаю что такое стек.

вот вы пишите - стек, стек. а что есть этот ваш стек?
21/12/21 Втр 20:00:58 259995203249
>>259995178
А если меньше ноля стек?
Аноним 21/12/21 Втр 20:01:08 259995210250
>>259995178
Пиздец, еще один даун со стеком.
Аноним 21/12/21 Втр 20:01:23 259995223251
image.png 37Кб, 724x867
724x867
21/12/21 Втр 20:02:56 259995314252
>>259995181
я вот загуглил:
Стек — список элементов, организованных по принципу LIFO («последним пришёл — первым вышел»).
Аноним 21/12/21 Втр 20:03:16 259995329253
>>259995139
Дауны с replace вы вообще понимаете насколько это неоптимально будет по сто раз пробегать строку? Да еще и выделять удалять память.
Аноним 21/12/21 Втр 20:03:54 259995370254
Аноним 21/12/21 Втр 20:04:00 259995374255
>>259992140
Значит последовательность неверена.
if(stack.len >0) stack.pop()
Else return false
Аноним 21/12/21 Втр 20:04:13 259995389256
>>259995181
ну типа какой у тебя стек - какие языки знаешь, фреймворки, фронтэнд/бекенд, умеешь ли работать с базами данных. Вот это все. Кто все умеют, тех называют фуллстек.
21/12/21 Втр 20:04:14 259995390257
>>259995116
Какой же ты дегенерат...
Аноним 21/12/21 Втр 20:04:18 259995394258
>>259995181
Представь магазин для АК. Это и есть стек. Снаряжаешь патрон - делаешь push(). Вынимаешь или выстреливаешь патрон - делаешь pop(). Т.е. операции всегда только с верхним (последним) патроном.
21/12/21 Втр 20:04:51 259995424259
>>259995370
Я не знаю узбекского, но миграционный центр воон там.
Аноним 21/12/21 Втр 20:05:04 259995439260
>>
Аноним 21/12/21 Втр 20:05:06 259995441261
изображение.png 39Кб, 1476x659
1476x659
изображение.png 21Кб, 1090x422
1090x422
>>259991298
Предлагаю мой дебильный способ решения
В чём суть.
Создаем массив правильных скобок индуктивным способом, начиная от n=2 прибавляю к предыдущему скобку () по бокам или (+предыдущие скобки+), далее входящую скобку сравниваем со значениями массива правильных скобок, если значение не найдено то False, иначе True.
Плюс, выводит массив правильных скобок.
Знаю, способ не эффективный, долгий и требует использование памяти, но хотя бы более наглядный
Аноним 21/12/21 Втр 20:05:46 259995480262
Аноним 21/12/21 Втр 20:05:50 259995485263
>>259995329
оптимизация бывает в разную сторону
для одноразовой задачи оптимизировать время на написание - почему бы и нет?
Аноним 21/12/21 Втр 20:05:55 259995487264
>>259995179
ну хер знает. к каждой откр скобке есть закр скобка
и так двигаться по строке +1 символ вперед.
сначала с первого символа потом со второго, с третьего.
разве так нельзя исключить все закрытые пары?

21/12/21 Втр 20:06:03 259995491265
>>259995394
Зумеры не знают, как работает АК
Аноним 21/12/21 Втр 20:06:04 259995492266
>>259993559
Два чаю, лучшее решение.
Мимо датасайнсер 300к/секунду
Аноним 21/12/21 Втр 20:07:16 259995563267
>>259988660 (OP)

For I range list name:
If i=')':
left+=1
else:
right+=1
if left==right:
return true
else:
return false

не оч помню питон, но примерно так

Концепцию решения придумал сразу же. Но на работу меня все равно не берут

мимо днорабочий закончившийся колледж на погромиста

Аноним 21/12/21 Втр 20:07:29 259995580268
>>259995329
Я ж написал, что накидал от пизды - это раз
Нахуя здесь оптимизировать? Я игру разрабатываю? - это два

Щас бы оптимизировать говнозадачку уровня шестого класса

Совсем ебанулся
Аноним 21/12/21 Втр 20:07:48 259995598269
>>259995394
Ты либо очень хуевый пограммист, либо не знаешь, как работает автомат. Там очередь, даун
Аноним 21/12/21 Втр 20:08:04 259995620270
>>259995441
ты наверно на копро и некро порно дрочишь? просто интересно
Аноним 21/12/21 Втр 20:08:18 259995632271
>>259988660 (OP)
Задача первого курса вуза
Пошел нахуй я так и знал что тупые вкатуны даже не могут посмотреть как нужно учиться
Аноним 21/12/21 Втр 20:09:19 259995701272
>>259995314
>>259995389
>>259995394

поэтому вас очкариков зазнавшихся никто и не любит, сидите в своих интернетах выёбываетесь своими специализированными знаниями, а при малейшем вопросе включаете тролля
Аноним 21/12/21 Втр 20:09:20 259995703273
Аноним 21/12/21 Втр 20:09:51 259995741274
>>259995563
Правильно не берут, кста
21/12/21 Втр 20:09:56 259995746275
Аноним 21/12/21 Втр 20:10:02 259995754276
>>259994271
Сука и ебаные нытики все такие
Посмотреть ебучий учебник? Попросить совета что нужно знать чтоб решить это говно?
Нахуй
НУЖНО НАНЫТЬ ПРОСТЫНЮ И ЗАПОСТИТЬ УЕБАНСКИХ ЛЯГУХ
Аноним 21/12/21 Втр 20:10:08 259995763277
(равное количество открывающих и закрывающих скобок, рандомно перемешанных)

Решение?
Аноним 21/12/21 Втр 20:11:26 259995844278
>>259995598
ну вообще там стек, ты ж вставляешь в рожок патрон сверху и он двигает остальные вниз. самый просто пример стека ( что дословно переводится как сука СТОПКА) - это сложенные друг в друга тарелки. Кладешь наверх, берешь верхнюю всегда
21/12/21 Втр 20:12:15 259995896279
>>259995491
>>259995598
Сука, вы идиоты?
Я вставил первый патрон A. Он внизу.
Я вставил второй патрон B. Он вверху.

Какой патрон вылетит первым? Второй.
Аноним 21/12/21 Втр 20:12:40 259995926280
.png 12Кб, 306x306
306x306
>>259988660 (OP)
А что в ней трудного?
У тебя счетчик открытых скобочек изначально равен нулю.
Идешь по строке. Встретил открывыющую скобку - увелчил счетчик на 1. Встретил закрывающую - уменьшил на 1. В случае если счетчик стал меньше 0 - прервал выполнение(т.к. сразу понятно, что получил невалидную строку). В конце - если счетчик не 0 - строка невалидна.
Аноним 21/12/21 Втр 20:12:43 259995927281
>>259995563
если сначала будет закрывающая скобка, а потом открывающая строка будет неправильная, но твоё решение выдаст, что правильная
)(
Аноним 21/12/21 Втр 20:13:13 259995956282
inarticlecc6c1d[...].png 1276Кб, 1200x950
1200x950
Что-то судя по треду реально проще просто импортировать тенсорфлоу
Написать 2х слойную денс-сетку
показать ей 50 примеров и потом просто делать предикт тех что даны для проверки
дата-сатанист, не ебу как это решать классически
Аноним 21/12/21 Втр 20:13:29 259995970283
>>259995563
Тут надо еще добавить
if left > right return false; в цикле
Аноним 21/12/21 Втр 20:13:53 259995989284
image.png 194Кб, 592x778
592x778
21/12/21 Втр 20:14:03 259996000285
>>259995491
(Если твоё сообщение было не оскорблением того анона, мол зумер ты тупой, то извини меня, пожалуйста, я сглупил)
Аноним 21/12/21 Втр 20:14:32 259996024286
Аноним 21/12/21 Втр 20:14:43 259996040287
>>259995926
Бля, я даун. Забыл увеличивать счетчик. Ну, в реальности я бы форичем просто воспользовался, т.к. к нему привык, ну да пох.
Аноним 21/12/21 Втр 20:14:44 259996041288
>>259993345
Ты тупой? Сложность операции вставки и удаления из стека О(1). Проход по списку символов O(N).
Вся общая сложность будет О(N)
Аноним 21/12/21 Втр 20:14:48 259996046289
>>259995926
Ставлю закрывающуюся скобку в самом начале строки
Что будет?
Аноним 21/12/21 Втр 20:15:25 259996080290
>>259995896
> Я вставил первый патрон A. Он внизу.
В каком низу? Который сверху или который снизу? Это же вопрос относительности
21/12/21 Втр 20:16:06 259996137291
>>259996080
В том низу, со стороны которого дно.
Аноним 21/12/21 Втр 20:16:36 259996178292
>>259988660 (OP)
ЗАДАЧА РЕШАЕТСЯ РЕКУРСИВНО
МУДАКИ С СЧЕТЧИКАМИ ИДУТ НАХУЙ
Аноним 21/12/21 Втр 20:16:41 259996184293
>>259995598
Я не понимаю, ты доебался потому, что в магазине патроны не друг над другом стоят, а с перекосом?
Ну тогда возьми обойму для ПМ.
Аноним 21/12/21 Втр 20:17:23 259996227294
>>259996046
Всё, увидел твой третий иф
Аноним 21/12/21 Втр 20:17:37 259996237295
>>259996046
Читать это неудобно будет, потому что в голове мало кто держит, в каком он сейчас блоке находится.
Аноним 21/12/21 Втр 20:17:46 259996252296
>>259995701
Тебя никто, что характерно, не тралировал.
Первый анон вообще из википедии строчку кинул, а ты сразу огрызаешься. Нехорошо.
Аноним 21/12/21 Втр 20:17:54 259996259297
>>259993735
> ты в слух грамматику озвучишь и все, вопросов вообще к тебе не будет. Не понимаю в чем тут проблема

Да потому что ты дурак и пытаешься натянуть сову на глобус, вбив себе в голову, что это аж целая задача парсинга какой-то формальной грамматики, ещё и с умным видом потом пердя про формошлепство. Ты бы ещё нейронками начал решать и доказывать, что это задача якобы на то чтобы ты вслух про лингвистические модели сказал. То что ты предлагаешь -- это и есть логика формошлепа. Они вон тоже выучивают одну функцию одного фреймворка и используют её везде, к месту и не к месту.

> незнакомых слов
> грамматику составить
Клоун безграмотный, грамматику не "составляют", её описывают в какой-нибудь стандартной нотации, а дальше парсерами/лексерами/токенайзерами реализуют её обработку.
Аноним 21/12/21 Втр 20:17:54 259996260298
Аноним 21/12/21 Втр 20:18:00 259996267299
>>259988660 (OP)
хочешь смешной вариант решения этой задачи: делаешь замену скобок на фигурные и эвалуэйтишь это как dict.
Аноним 21/12/21 Втр 20:18:47 259996307300
Аноним 21/12/21 Втр 20:19:55 259996374301
123.png 97Кб, 1060x510
1060x510
>>259994217
Не помню как делать рекурсивные регэкспы или как там его...
Аноним 21/12/21 Втр 20:19:56 259996375302
>>259996260
Да, там count-- если закрывающая скобка, а потом попадаем в третий иф
Аноним 21/12/21 Втр 20:20:41 259996421303
>>259988660 (OP)
Хуй знает, одна из самых лёггких задач, котору. можно получить на собесе. Эта задача на знание стека.
Мне на прошлом собесе такое дали. Ну тут на знание рекурсии:

// ЗАДАЧА:

// Определить количество замкнутых несвязанных между собою пустот (дырок) в лабиринте размера NM

// 1 <= N <= 200, 1 <= M <= 200

//

// ВХОД:

// Текстовый файл, содержащий массив N
M в виде строк (т.е. N строк, каждая длиной M символов)

// Символы: '.' - пусто '#' - занято (стенка лабиринта)

//

// НУЖНО ПОЛУЧИТЬ:

// Число замкнутых несвязанных между собою пустот (дырок) в переданном во входном файле лабиринте.

//
// ПОЯСНЕНИЕ:
// Пустота считается несвязанной с другими, если у неё нет смежных с другой пустотой клеток
// по горизонтали или вертикали. Т.е. из одной пустоты нельзя перейти в другую пустоту
// двигаясь по любой траектории и делая шаги по горизонтали и/или вертикали.
//
// Важно! Необходимо учитывать только пустоты, замкнутые стенами лабиринта со всех сторон!
//

// ВЫХОД:
// Вывести исходный файл и под ним - найденное число пустот.
// Или вывести сообщение об ошибке, если входной файл некорректен.
//

ПОЯСНЯЮЩИЕ ПРИМЕРЫ:
1)

Входные данные:

###...###.
#.##.###..
####......
......####
.###.#...#
.....#####

Выходной результат (должно получиться)

###...###.
#1##.###..
####......
......####
.###.#222#
.....#####

В этом примере у нас 2 (ДВЕ) дырки замкнутые в стенах лабиринта (помечены цифрами '1' и '2').

2)

Входные данные:

##########
#..##..###
###.###..#
#..##.#..#
##########

Выходной результат (должно получиться)

##########
#11##22###
###3###44#
#55##6#44#
##########

В этом примере у нас 6 (ШЕСТЬ) дырок.

3)

Входные данные:

#####.....
....#.....
#####.###.
.....#...#
......###.

Выходной результат (должно получиться)

#####.....
....#.....
#####.###.
.....#111#
......###.

В этом примере у нас 1 (ОДНА) дырка. Остальные пустоты, хотя из них и нельзя перейти из одной в другую,

не являются дырками, т.к. не замкнуты стенами лабиринта со всех сторон!
Аноним 21/12/21 Втр 20:20:42 259996422304
1640107240518.png 856Кб, 1280x534
1280x534
Короче, надо следить за тем, чтобы количество открывающих и закрывающих скобок на каждом уровне было одинаковым.
Например, при каждой новой открывающей скобке повышаем уровень на 1 и в рамках этого уровня считаем скобки, их общий баланс должен быть равен нулю.
Если где-то в массиве получился не ноль, то скобки не равны
Аноним 21/12/21 Втр 20:21:56 259996498305
123.png 97Кб, 1060x510
1060x510
Аноним 21/12/21 Втр 20:22:01 259996503306
>>259991855
С квадратным - придется таки стек использовать. Встретили открывающую - положили на стек. Встретили закрывающую, достали из стека, если она не того же типа - сразу вышли. В конце проверяем, осталось ли что-то на стеке и прошли ли мы всю строку.
Аноним 21/12/21 Втр 20:22:35 259996534307
Вот еще задачка на знание механизма соединений в SQL хорошая.

ДАНО:
- ТаблицаЦен, в которой хранится товар, цена на товар и дата установки цены на негго.
ТОВАР | ЦЕНА | ДАТА УСТАНОВКИ ЦЕНЫ (эта цена действует до следующей установки цен)
- ТаблицаПродажТоваров, в которой хранится товар и дата продажи
ТОВАР | ДАТА ПРОДАЖИ

НУЖНО:
Написать запрос, который получит цену продажи товара (если на это время еще цена не была установлена, то считаем, что цена продажи равна 0).
Должна получится таблица:
ТОВАР | ДАТА ПРОДАЖИ | ЦЕНА ПРОДАЖИ

Использовать можно только SQL.
Аноним 21/12/21 Втр 20:22:51 259996554308
>>259996422
Вот тут >>259996374 самый простой подход с точки зрения написания кода

Нахуй тут думать вообще?
Развели какую-то пиздёжь про стеки/очереди, какие-то циклы с ифами хуифами, свич-кейсы
Вы ебанулись?
21/12/21 Втр 20:24:51 259996656309
>>259996534
Хуясе вы регистры храните!
Аноним 21/12/21 Втр 20:25:05 259996670310
>>259996503
Просто сделай замену квадратных/фигурных на круглые
Получишь все круглые(т.е. приведёшь данные к одному виду) и сделаешь тоже самое, что и в ситуации, когда все скобки однотипные

Нахуя вы всё так усложняете
Аноним 21/12/21 Втр 20:25:24 259996688311
>>259988660 (OP)
function isBalanced($str)
{
$count = 0;
for ($i = 0; $i < strlen($str); $i++) {
$count = $str[$i] === '(' ? $count + 1 : $count - 1;
if ($count < 0) {
return false;
}
}

return $count === 0;
}
21/12/21 Втр 20:27:42 259996769312
>>259993317
и как бы ты решил тогда? тут в треде даже к ответу не пришли
Аноним 21/12/21 Втр 20:27:43 259996776313
>>259996041
Ты тупой.

В худшем случае у тебя использование памяти со стеком будет O(n) -- потоковую обработку ты так вообще не сможешь сделать, банально потому что у тебя память кончится, на потоке из "...(((((((((((((((...", потому что ты их за каким-то невидомым хером хочешь сохранять.

С обычным интовым счетчиком и инкрементом-декрементом заместо операций со стеком ты получаешь O(1) по потреблению памяти -- можешь хоть бесконечный поток скобок в него пулять, память никогда не кончится (ну, условно до момента когда счетчик уйдет в MAX_INT, если у тебя рантайм без длинной арифметики).

Ты банально лишнее говно в виде целого стека в памяти хранишь, потому что используешь тупо для того, чтобы кол-во плиточек посчитать, но для этого прекрасно обычный счетчик подходит и всё.

Стек нужен только когда тебя в деталях ебет содержимое плиточек, но это не тот случай.

Распарсить польскую нотацию -- там да, там нужен стек, ибо тебе надо сначала установить последовательность операций (построить стек), а потом выполнить их (пройтись по содержимому стека).
Аноним 21/12/21 Втр 20:27:57 259996787314
>>259996259
Это не натягивание совы, это просто класс задач, по грамматике лл1, составляешь грамматику в строчку и пишешь код по ней, все, есть чуть более сложные из той же оперы, что ты тогда делать будешь? Костыли свои дебильные городить? Ну раз тебе нравится решать задачу из этого класса как костыльному школьнику - решай, мне то что? Ну просто я бы сделал вывод о тебе что ты не понимаешь \ не знаешь какие то обычный вещи. Нахуя ты тут мне что-то доказываешь так упорно пытаясь хоть как-то сумничать - я в недоумении
Аноним 21/12/21 Втр 20:28:27 259996827315
>>259996670
Ты таким макаром увеличиваешь время выполнения своей хуйни. В строке с 1_000_000 символов - ты сначала должен пройтись и все заменить, а потом уже выполнять алгоритм подсчета. Неэффективно это, короче. А тут четко за O(n).
21/12/21 Втр 20:28:47 259996846316
>>259996534
Не проверял, но:

SELECT ТаблицаПродажТоваров.ТОВАР, ТаблицаЦен.ЦЕНА, ТаблицаПродажТоваров.ДАТА ПРОДАЖИ
FROM ТаблицаЦен, ТаблицаПродажТоваров
WHERE ТаблицаПродажТоваров.ТОВАР = ТаблицаЦен.ТОВАР
ORDER BY ТаблицаПродажТоваров.ТОВАР;
Аноним 21/12/21 Втр 20:29:38 259996891317
изображение.png 44Кб, 555x435
555x435
Учитесь, сынки.
Аноним 21/12/21 Втр 20:29:39 259996892318
>>259996656
Чел, я сам 1Сник. Эта задачка для собесов учебная.
Ты такой же запрос будешь писать, если, например, нужно будет не цену продажи получить, а прибыль рассчитать, используя закупочную цену в качестве себбестоимости с детализацией до документа.
И часто срез последних нужно получить на каждый документ. Виртуальная таблица тебе тут не поможет. Руками будешь срез делать.
Аноним 21/12/21 Втр 20:30:17 259996935319
>>259996827
Зачем здесь вообще говорить об эффективности?
Это задачка для школьников
21/12/21 Втр 20:30:25 259996943320
Аноним 21/12/21 Втр 20:32:47 259997081321
21/12/21 Втр 20:33:47 259997127322
Аноним 21/12/21 Втр 20:34:19 259997146323
>>259996846
И зачем ты все цены вытащил ? Надо цену получить на дату продажи. В таблице цен на каждый товар может кучу цен быть.
Нужно узнать, какая была цена в момент продажи.

Да и даже тут можно было без декартова произведения обойтись, а соединение хотя бы элементарное сделать, но оно один хер не будет работать. Тут без джоинов никак не решить. Притом джоин нужно делать саму с собой по датам, используя > "больше".
Аноним 21/12/21 Втр 20:35:16 259997195324
>>259996178
На вход подали миллион скобок.
Твоя рекурсия упала от переполнения
Аноним 21/12/21 Втр 20:36:03 259997230325
>>259996534
select ТаблицаПродажТоваров.ТОВАР as t, ТаблицаПродажТоваров.ДАТА ПРОДАЖИ, (select ТаблицаЦен.ЦЕНА where ТаблицаЦен.ТОВАР = t) order by ТаблицаПродажТоваров.ДАТА ПРОДАЖИ desc;

(но я понимаю что в реальности за такое выебут)
Аноним 21/12/21 Втр 20:37:00 259997295326
>>259996787
> Это не натягивание совы, это просто класс задач

Но это не тот класс задач, который ты пытаешься натянуть, вот и всё. Ты можешь пытаться делать какие угодно выводы, но лично я после таких вопросов сделаю вывод, что ты сам нихуя не понимаешь о чем говоришь и пытаешься "модную и крутую" штуку, про которую на хабре прочитал, безграмотно натянуть на абсолютно нерелевантную ей задачу балансировки скобок.

А делаю я такой вывод, потому что, еслиб ты вообще понимал что это и какие задачи решает, ты бы использовал её по назначению и задачи придумывал бы соответствующие с соответствующими констрейнами. Но раз у тебя грамматика -- это для решения задачи балансировки скобок, значит ты банально не понимаешь проблем, которые такая абстракция решает.
Аноним 21/12/21 Втр 20:37:36 259997320327
>>259997195
Haskell + Оптимизация хвостовой рекурсии.
Интерпретаторы функциональных языков переводят рекурсию в циклы, если используешь хвостовую рекурсию.
Аноним 21/12/21 Втр 20:37:53 259997338328
>>259988660 (OP)
Хуйня, а не задача. Вот если бы ты попробовал поле для судоку заполнить, то тут бы охуел.
Аноним 21/12/21 Втр 20:37:56 259997343329
>>259996787
> Нахуя ты тут мне что-то доказываешь так упорно пытаясь хоть как-то сумничать
> Грамматика для балансировки скобок
> упорно пытаясь хоть как-то сумничать

Ясно все с тобой, клоун.
Аноним 21/12/21 Втр 20:39:54 259997435330
>>259996891
Хуйта какая-то. Я конечно понимаю что в условии обычно не сказано, что между скобками могут быть какие-то произвольные символы, но всё-таки.
Аноним 21/12/21 Втр 20:40:37 259997464331
>>259996935
Зачем в задаче на спортивное программирование говорить об эффективности? Ну не знаю даже, а сам как думаешь?
Аноним 21/12/21 Втр 20:41:07 259997491332
изображение.png 96Кб, 1011x98
1011x98
Аноним 21/12/21 Втр 20:42:40 259997552333
>>259996178
>>259997320
Не, ну если у тебя ФП -- то офк, даже нет смысла как-то по-другому делать.

Но в императивных языках каунтер офк, мало где вообще есть оптимизация хвостового вызова.
Аноним 21/12/21 Втр 20:43:08 259997579334
>>259996769
Вообще-то пришли. Не пришли однако к согласию, но это /b, хули ты хотел?
Вот этот анон прав: >>259994574

Аноним 21/12/21 Втр 20:44:22 259997657335
>>259997491
Да я знаю, я просто к тому что это вообще-то очень стандартная проблема, которая предполагает именно наличия промежуточного говна между скобками.
Аноним 21/12/21 Втр 20:45:54 259997744336
>>259997657
Регулярочкой вычищаешь и все, не вижу проблемы.
Аноним 21/12/21 Втр 20:46:57 259997810337
Аноним 21/12/21 Втр 20:47:33 259997838338
>>259997464
Мы не ограничены временем выполнения программы
Вопрос всё ещё тот же
Аноним 21/12/21 Втр 20:48:02 259997865339
>>259997295
Ахах "модную и крутую" на хабре - это как раз про твоё понимание что такое лл1 и какие задачи ею решаются. Дружище че ты так рвешься то? Решение что по школьному, что по нормальному как это делают люди - одинаковы просты, тут даже и совы то нет которую ты мне тут приплести пытаешься. Почему это тебя так злит?
Аноним 21/12/21 Втр 20:48:44 259997910340
>>259995035
Этот код не только проверяет совпадение количеств, ты не вник

>>259994686
По условию входная строка содержит только "(" или ")"
Аноним 21/12/21 Втр 20:49:48 259997967341
>>259997744
Это только на малом объеме будет работать, и то слабоэффективно.

По факту задача балансировки скобок замечательно решается вообще на бесконечном потоке входных данных, главное чтобы счетчик скобок влез.
Аноним 21/12/21 Втр 20:50:10 259997987342
image.png 31Кб, 1256x411
1256x411
>>259997230
Ты не понял задачу скорее. Вот как должно быть примерно

Ты тоже не понял видимо
>>259996846
Аноним 21/12/21 Втр 20:51:16 259998050343
>>259997967
Нахуй ты какие-то дополнительные условия придумываешь? Ты ебанутый?
Аноним 21/12/21 Втр 20:51:46 259998085344
>>259997838
> Мы не ограничены
А, ну раз вы не ограничены...

> Вопрос всё ещё тот же
Чтобы писать программы грамотно, а не как попало, работающие только в определенных абстрактных условиях в вакууме с большими ограничениями. Нет, для вкатывальшика наверно круто научиться решать задачи хоть как-то, но вкатывальщики на то и вкатывальщики, что поголовно хуесосы безграмотные.
Аноним 21/12/21 Втр 20:52:12 259998112345
>>259988660 (OP)
Я тупой или для всего цикла нужно сделать проверку , если количество ( , равно количеству ) то True, если нет то false?
Аноним 21/12/21 Втр 20:52:21 259998122346
Аноним 21/12/21 Втр 20:52:47 259998152347
16398202339510.jpg 59Кб, 640x512
640x512
Аноним 21/12/21 Втр 20:52:54 259998159348
>>259998085
Я понимаю, что это не бест практис и всё такое
Но просто нахуя конкретно здесь изобретать
ё
Аноним 21/12/21 Втр 20:53:38 259998196349
>>259998112
Почти, но что будет в случае )( ?
Аноним 21/12/21 Втр 20:54:16 259998228350
>>259998122
Где толсто ёпта ? Эту задачу я даю на собесах.
Аноним 21/12/21 Втр 20:54:18 259998234351
>>259997987
А, теперь понял, но так это с датами ебаться надо, а в целом суть та же остается.
Аноним 21/12/21 Втр 20:54:24 259998240352
>>259996935
Это должно быть на уровне подкорки.
Аноним 21/12/21 Втр 20:54:56 259998271353
>>259998112
Не совсем. К примеру строка "))((" будет валидной согласно твоему критерию, но невалидной согласно условию задачи
Аноним 21/12/21 Втр 20:55:08 259998286354
Как заставить айтидебилов высираться на целый тред?
Дать им решать одну задачку. В процессе обсуждения они выгрызут друг другу глотки
Аноним 21/12/21 Втр 20:55:51 259998333355
あたご [変性ポジトロン丸].png 718Кб, 827x1169
827x1169
>>259994504
Во-первых, условие коряво сформулировано, если следовать ему буквально, то все решается простым перебором и сравнением количества.
Во-вторых, ничего сложного, если ты кодингом ни одну неделю занимаешься. И в плюсах ничего слоэного нет.
Если, как вы говорите последовательность ")(" хуевая, то в решении тоже ничего сложного.

создаем вектор флагов;
начинаем парсить строку;
если попадается '(' пушбэкаем флаг в вектор;
если попадается ')' при пустом векторе, сразу нахуй такую строку, возвращаем ложь;
если попадается ')' при непустом векторе, попаем вектор;
если после перебора строки вектор непустой возвращшаем ложь, иначе истину;

Где я проебался?


Аноним 21/12/21 Втр 20:55:54 259998336356
>>259998228
Толсто. Никто такую таблицу читать не будет, никакой менеджер
Аноним 21/12/21 Втр 20:56:57 259998398357
>>259998286
Все просто. Куча долбачей пишут про счётчики и высирают говно.
Нормальные люди просто знают мету
Аноним 21/12/21 Втр 20:57:16 259998416358
>>259998050
Так-то в жизни так и бывает - придумал решение, а оказывается туда миллионы данных пихают или еще что-то некорректное.
Аноним 21/12/21 Втр 20:58:20 259998473359
15192199766480.jpg 110Кб, 1252x1252
1252x1252
Аноним 21/12/21 Втр 20:58:26 259998481360
>>259998050
А где ты в формулировке задачи увидел разрешение на допущение, что входных данных у тебя мало? Ты никогда таких задач не решал что ли? Тебе даются 1.5 простых примера, а потом автотест гоняет твою программу на ебейше огромных строках, чтобы увидеть что она отвалилась.


>>259998159
Ну тут вопрос к составителю задачи, почему она получилось такой, что в итоге ничему тебя не учит.
Аноним 21/12/21 Втр 20:58:41 259998492361
>>259998196
>>259998271
А ну да, я просто условие задачи не читал, ну в таком случае идём по строке циклом, если отсчёт начинается с ) - false, если, количество ) превысило количество количество (, в следующей итерации , то же false, ну я бы так делал.
Аноним 21/12/21 Втр 20:58:59 259998510362
>>259998416
Естественно я написал неоптимальный код, но он удовлетворяет условиям задачи и написан меньше чем за 5 минут.
Аноним 21/12/21 Втр 20:59:33 259998549363
image.png 488Кб, 716x990
716x990
>>259994504
Попробовал на своём решении, всё норм
Аноним 21/12/21 Втр 20:59:58 259998578364
>>259988660 (OP)
Дегенерат, хули там решать, ( скобка делаешь к счетчику +1, ) — делаешь –1
Если меньше нуля на каком-то этапе произошло, то неправильная, если к концу строки не 0 — тоже
Аноним 21/12/21 Втр 21:01:19 259998661365
>>259998578
Ещё один блять
В твоём случае даже )( или ))(( будет правильной, но по решению нет
Аноним 21/12/21 Втр 21:02:08 259998710366
>>259988660 (OP)
Самая первая мысль котоая пришла в голову, просто почтитать количество открвающих и закрывающих скороб и если оно не равно, значит нерпавильная стока. Это без всяких оптимизация, просто в лоб.
Аноним 21/12/21 Втр 21:03:57 259998819367
Аноним 21/12/21 Втр 21:04:30 259998854368
>>259998661
будет правильно, если поставить условие, что первый симбвол не )
Аноним 21/12/21 Втр 21:04:35 259998859369
>>259997865
"Модную и крутую" -- это про логику формошлёпа, которому модным и "интересным" реактом захотелось решать задачу вывода статического текста.

Не нужно никаких безконтекстных грамматик, Бэкуса-Наура, синтакс-деревьев и прочей хуеты, чтобы решать задачу балансировки скобок. Это просто банально не та задача.

Если ты таких простых вещей не понимаешь, значит и какие задачи решаются.

И это кстати LR-ом решать надо, а не LL-ом, даже тут ты обосрался.
Аноним 21/12/21 Втр 21:04:46 259998873370
>>259998710
В хуеб
)(()))( и твоё решение сосет хуи
Аноним 21/12/21 Втр 21:05:05 259998892371
Аноним 21/12/21 Втр 21:05:15 259998903372
Аноним 21/12/21 Втр 21:05:43 259998931373
>>259998549
Да, тут все ок, я не заметил последнее условие в цикле.
Аноним 21/12/21 Втр 21:05:44 259998934374
Аноним 21/12/21 Втр 21:06:34 259998988375
>>259988660 (OP)
Это ж хуйня а не задача, сразу же пришло в голову решение:
bool is_bracket_correct(string str)
{
int open = 0;
int close = 0;

for (int i = 0; i < str.length(); i++)
{
switch (str.at(i))
{
case '(':
++open;
break;

case ')':
if (++close > open)
return false;
break;
default:
return false;
}
}

return open == close;
}
Аноним 21/12/21 Втр 21:06:46 259999003376
>>259998710
Почти так, считаешь кол-во открытых скобок и вычитаешь из него закрытые. На каждой итерации ещё нужно проверять, чтобы счетчик не стал меньше 0 (т.е. закрывающая скобка не появилась раньше открывающей) -- а то отвалится на примерах, которые тебе в соседних ответах накидали.
Аноним 21/12/21 Втр 21:06:54 259999012377
>>259998661
Ты тупой?
>) — делаешь –1
>Если меньше нуля на каком-то этапе произошло, то неправильная
>)(
>)
>меньше нуля
>false
Ебало так что стянул, зелень ебаная
Аноним 21/12/21 Втр 21:07:14 259999036378
>>259998988
Ебать двач охуевший, табуляцию явно проставляет
Аноним 21/12/21 Втр 21:08:06 259999099379
>>259999012
Ну давай, реши это умник
)))))))(((((((
Или это
())(()
(()())()
Аноним 21/12/21 Втр 21:08:12 259999109380
16378392221702.jpg 111Кб, 519x640
519x640
>>259998988
У тебя, наверное, айкью 140. Сверхразум какой-то.
Аноним 21/12/21 Втр 21:08:31 259999123381
Аноним 21/12/21 Втр 21:09:25 259999189382
>>259998988
Нет необходимости считать открытые и закрытые скобки отдельными счетчиками. Просто открытые добавляешь, а закрытые вычитаешь из общего счетчика. На каждой итерации считаешь, не ушел ли счетчик ниже 0.
Аноним 21/12/21 Втр 21:09:52 259999225383
>>259998661
>>259998903
Ну вообще он прав, т.к. у него есть условие
> Если меньше нуля на каком-то этапе произошло, то неправильная
На твоих примерах счётчик будет меньше нуля прям с первого символа и соот-но будет досрочный false

Так что не бомби, второкурсник, а учись адекватно общаться, даже если твой оппонент не прав хотя в данном случае неправ ТЫ, пригодится в жизни и на работе
Аноним 21/12/21 Втр 21:10:45 259999283384
>>259999099
>)))))))(((((((
Сразу -1 -> false
>())(()
+1 -1 -1 -> false
>(()())()
Задание корректное, условие по алгоритму выполяется -> true
Вопросы?
Аноним 21/12/21 Втр 21:10:54 259999292385
>>259999225
> пригодится в жизни и на работе

Он небось ещё думает что программирование -- это работа для НЕОБЩИТЕЛЬНЫХ
Аноним 21/12/21 Втр 21:11:34 259999339386
>>259999099
> (()())()

А с этим что не так?
Аноним 21/12/21 Втр 21:12:07 259999388387
Усложню. Скобки могут быть разными ( { [ и кавычки < 《
Аноним 21/12/21 Втр 21:12:13 259999395388
>>259988660 (OP)
Блять, мкропчелик, ты сортинг не осилил?
Аноним 21/12/21 Втр 21:12:18 259999400389
image.png 20Кб, 412x369
412x369
Аноним 21/12/21 Втр 21:13:53 259999512390
>>259999400
Не-не, тебе не нужно два счетчика. Просто в один добавляешь открытые и вычитаешь закрытые. В итоге он должен быть равен нулю и никогда не опускаться ниже 0 в процессе обхода строки.
Аноним # OP 21/12/21 Втр 21:14:28 259999563391
>>259999395
Это же курс, нужно решать имея те инструменты, что были даны в курсе, а сортировка идет после этой задачи.
Аноним 21/12/21 Втр 21:14:36 259999572392
>>259998859
Ахах ладно... Хаброшкольный гуглокарась иди ты уже нахуй, мозги себе лром реши
Аноним 21/12/21 Втр 21:15:01 259999616393
>>259988660 (OP)
Я б перебрал массив char, сравнивая каждый нулевой и чётный элемент с "(", а нечётный элемент с ")".
Аноним 21/12/21 Втр 21:15:45 259999672394
>>259999388
Чтобы было усложненно, надо обязательно добавить, что скобки должны друг с другом тоже согласовываться.

Т.е. так:

(<>)

А не вот так:
<(>)
Аноним 21/12/21 Втр 21:15:49 259999681395
>>259988660 (OP)
Встречал такую задачу на тесте для позиции джуна. Действительно, весьма обычная задача. Если с решением таких задач сложности - в программировании вам будет очень тяжело.
Решений такого рода задач вагон. Если тебе не приходит в голову ни одно - это плохо. Нормально, если ты придумал решение, а тебе говорят, мол, ты не учел вот этой хуйни. И ты такой "а, точно, тогда поменять надо... Вот, например, так"
Потом ещё что-то подмечают. Опять исправляешь.
И вот так, постепенно приходишь к весьма неплохому решению.
Вовсе не обязательно нагора выдавать идеальное решение. Главное, уметь думать и находить решение появляющимся проблемам.
Сейчас, от балды, я бы решал как-то так
def is_correct_bracket(s):
... counter = 0
... for char in s:
... if char == '(':
... counter += 1
... elif char == ')':
... counter -= 1
... if counter < 0:
... return False
... return counter == 0
Аноним 21/12/21 Втр 21:16:45 259999763396
>>259999572
> Эти томные попытки продолжать умничать даже когда окончательно обосрался.

Ахах, действительно.
Аноним 21/12/21 Втр 21:17:22 259999831397
>>259999616
И что бы это дало? ((())) - первый элемент нечетный, не равно ")", у тебя вернуло бы false
Аноним 21/12/21 Втр 21:17:34 259999852398
>>259999672
И вот такую задачу кстати уже реально надо стеком решать, счетчиком тут хуйня будет.
Аноним 21/12/21 Втр 21:17:48 259999877399
image.png 77Кб, 1231x832
1231x832
image.png 154Кб, 1491x717
1491x717
image.png 11Кб, 1357x138
1357x138
>>259998336
Какой менеджер ёпта ? Это учебная задача.
Подобная логика встречается в реальной практике. Просто там настоебенино всего. Тут в минимальных терминах описано.
Это проверка на понимания работы соединений.

Вот те скрин-пример рабочий, что на днях делал отчёт с подобной логикой, но суть тут другая совсем. Для менеджеров ёпта. Они посмотрели, сказали всё ок. Тута надо было и продажи за последние N месяца получить относительно текущего. И стоимость единицы товара узнать. И всё это на каждый месяц. А колонки с месяцами динамически тоже заполняются. Какой период пользователь задаст.
Аноним 21/12/21 Втр 21:18:24 259999950400
>>259999763
Нахуя мне с гуглом общаться?
Аноним 21/12/21 Втр 21:18:39 259999979401
>>259988660 (OP)
>>259999395
>>259999563
Бтв, я бы решил эту задачу таким образом.
Данные в массив, две интегер переменные, равные половине участников массива.
Брал бы из верхней половины массива скобку и искал бы ей пару в нижней половине массива, отбавляя по единице из каждого массива, если пары сошлись. И двигаясь вперёд до нахождения внутренней пары, если пара не нашлась. При этом задействуется подфункция, которая создаёт новый массив из всего промежутка до нахождения пары, если внутренний промежуток, который работает по тем же принципам что и основная программа(раздел на два и поиск пары).

За 30 минут написал бы это говно, но лень.
Аноним 21/12/21 Втр 21:19:46 260000149402
>>259999950
Да не общайся, кто тебя заставляет-то. Лулзов ты уже нагенерил, своим томным кокетством и попытками сумничать штуками, которые ты не понимаешь нихуя.
Аноним 21/12/21 Втр 21:19:56 260000174403
image.png 25Кб, 722x74
722x74
>>259999681
Разве оно правильно решит последний вариант?
Аноним 21/12/21 Втр 21:21:59 260000378404
1.png 18Кб, 349x258
349x258
Аноним 21/12/21 Втр 21:22:29 260000409405
>>260000174

Сразу на 3 символе на условии if counter < 0: return False

Там просто не видно этот if должен быть внутри цикла
Аноним 21/12/21 Втр 21:22:34 260000415406
Аноним 21/12/21 Втр 21:22:39 260000416407
>>259992607
>>259992582
К программированию вообще отношения не имею лул)
Ну да
Тогда единственная переменная-счётчик. В случае если она не равна 0, плюсует при '(' и минусует при ')'
Если же = 0 и встречается ')' автоматом выдает фолс
Аноним 21/12/21 Втр 21:22:52 260000433408
Аноним 21/12/21 Втр 21:23:32 260000477409
Аноним 21/12/21 Втр 21:23:57 260000493410
>>260000433
А ну-ка
\tДай-ка
\t\tПопробую
Аноним 21/12/21 Втр 21:24:28 260000533411
Аноним 21/12/21 Втр 21:25:20 260000584412
image.png 110Кб, 1885x810
1885x810
Аноним 21/12/21 Втр 21:25:58 260000612413
>>259999877
> Магазин "Все для красоты"
ДЕАНОНИМ ЕГО, АНОНЫ!
Теперь это c00L-Hac|<er-тхреад!
Аноним 21/12/21 Втр 21:25:59 260000616414
2.png 20Кб, 336x288
336x288
>>260000433
>Чекни )))(((
А ты что, сам не можешь чекнуть?
Аноним 21/12/21 Втр 21:27:26 260000699415
>>259999831
Хуйню бы дало. Не понял условий нормально.
Значит перебрал бы массив char, где нулевым элементом должен быть "(", а конечным ")", и считал при переборе в две переменных количество этих элементов, в конце бы их сравнил.
Аноним 21/12/21 Втр 21:27:30 260000702416
>>260000433
Зелень всё так же семенит своим пердежным условием, которое у нормальных пацанов выполняется. Срыгни уже с треда, чучело
Аноним 21/12/21 Втр 21:27:40 260000711417
>>259988660 (OP)
В питоне нет функций работающий со строчками которые определяют количество символов в строке? Могут брать символы из левой части строки? Не могут обращаться к конкретному символу в строке по номеру?
Аноним 21/12/21 Втр 21:28:41 260000756418
isokay.JPG 17Кб, 673x242
673x242
>>259988660 (OP)
Люблю алгоритмические задачи. Алсо, помню писал парсер для калькулятора, который будет учитывать скобки и даже функции типа косинусов и синусов. Вот это весело было. Познакомился тогда с алгоритмом обратной польской записи.
Аноним 21/12/21 Втр 21:29:30 260000803419
Аноним 21/12/21 Втр 21:30:52 260000872420
>>260000711
>определяют количество символов в строке?
Есть такая функция
>Могут брать символы из левой части строки?
Могут
>могут обращаться к конкретному символу в строке по номеру?
Могут

Это питон, ебать, тут всё можно нахуй
Аноним 21/12/21 Втр 21:31:15 260000900421
А схуяли никто не делает проверку на символы, отличные от скобок, на входе?
Аноним 21/12/21 Втр 21:31:31 260000910422
>>260000803
brackets.charAt(brackets.length() - 1) != '('
Аноним 21/12/21 Втр 21:32:07 260000947423
на php решал, на code wars
Можно с помощью стека решить, можно с помощью рекурсии
Аноним 21/12/21 Втр 21:32:14 260000956424
>>260000910
>Нечитаемая хуйня
Мы вам перезвоним
Аноним 21/12/21 Втр 21:33:54 260001042425
Аноним 21/12/21 Втр 21:34:04 260001049426
>>260000956
Там буквально указано на последний символ строки, что там тебе нечитаемо?
Аноним 21/12/21 Втр 21:34:07 260001052427
>>260000612
Да я же не там именно работаю. Это один из десятков клиентов.
Да и вообще я увольняюсь, с НГ буду работать в московское конторе по удалёнке
Аноним 21/12/21 Втр 21:34:51 260001092428
>>260001049
Конечно, понять код можно, но можно написать лучше + хуйня проверка как так: >>260001042
Аноним 21/12/21 Втр 21:35:22 260001116429
Аноны, поздравьте меня, мне оффер на 7000$ зделоли!
Объективно, я нихуя не тяну на такую зп, но раз прокатило, конечно, я согласился.
Аноним 21/12/21 Втр 21:35:50 260001137430
Аноним 21/12/21 Втр 21:35:52 260001144431
>>260000900
Потому что по условию задачу вводиться будут только круглые скобки
Аноним 21/12/21 Втр 21:37:14 260001221432
Аноним 21/12/21 Втр 21:38:43 260001316433
>>260000900
Такая проверка должна производиться до вызова подобной функции. Не надо весь сервер в одну функцию хуярить.
Аноним 21/12/21 Втр 21:39:37 260001360434
>>260001092
Хм, действительно поспешил с выводами. Ну ничего, сейчас передёрну на ЕОТ, и допишу решение.
Аноним 21/12/21 Втр 21:40:36 260001418435
>>260000803
Ебло, ты всё ещё тут? Может уймёшься и съебёшь отсюда, пока взрослые тут дела делают?
Аноним 21/12/21 Втр 21:40:58 260001444436
>>260001316
Этот чмоха.
>>260000900
Этот был бы прав, если бы нам не было бы похуй на то, что внутри. Мб там какой-нить код будет, нахуя трогать то, что трогать не нужно?

Вы оба опущенные петухи, пошли нахуй с моей профессии.
Аноним 21/12/21 Втр 21:43:38 260001600437
Аноним 21/12/21 Втр 21:43:46 260001610438
>>260001444
Понял вас. Мы вам обязательно перезвоним
Аноним 21/12/21 Втр 21:44:52 260001669439
>>259994174
>не способность обобщить решение
eto kak
Аноним 21/12/21 Втр 21:44:53 260001670440
>>259988660 (OP)
Считаешь в один цикл скобки правые и левые в две разные переменные, обрываешь если наткнёшься на другой символ и выдаешь false.
Сравниваешь, если поровну - ture, иначе false.
Аноним 21/12/21 Втр 21:46:35 260001753441
>>260001610
Я не работаю на РАБоте, РАБота это для тупого быдлоскота.
Аноним 21/12/21 Втр 21:48:33 260001846442
>>260001753
Конечно, это твой личный выбор, я тебя понял. Дело вовсе не в том, что тебя на нормальную позицию не берут.
Аноним 21/12/21 Втр 21:50:01 260001922443
Проверить первую и закрывающую скобку. Если первая ) или закрывающая ( - фалс. Затем посчитать общее количество ( скобок и сравнить с длинной строки/2. Если не равно - фалс. Это при условии что у нас строка из скобок онли. Если в строке может прийти что-то другое, то сперва пройти и проверить на символы ( или ). Решаю, пока пишу этот итт пост.
Аноним 21/12/21 Втр 21:51:04 260001970444
Аноним 21/12/21 Втр 21:51:46 260002012445
>>259988660 (OP)
Так бля, а в чем проблема, тип запускаешь циул, за каждую открывающую +1, за каждую закрывающую -1 и в конце проверочка на отрицательность. Блять в 10 строк уложиться можно.
Аноним 21/12/21 Втр 21:52:31 260002056446
>>260001922
()((() если я правильно понял твоё условие
Аноним 21/12/21 Втр 21:52:40 260002063447
5793056722.jpg 47Кб, 529x700
529x700
>>259991018
>>259990945
>>259990931
Пацаны, но стек же надо отдельно реализовывать, в питоне его не существует насколько я знаю. Дел на несколько строчек, конечно.
Тут в треде простейшее решение, где просто при скобке "(" += 1 к счетчику, при ")" -= 1, если счетчик где-то < 0 или в конце счетчик != 0, то False. Вероятно, это дольше, чем через стек.
мимо пробегал
Аноним 21/12/21 Втр 21:52:45 260002069448
>>260001846
Блять, микропчелик, нахуя мне иметь контакты с кабанчиками и терпеть их охуительные прихоти, типо отчётов о проделанной работе и охуительных комментариев к коду, когда я получаю +сабжи с дженерик онлайн дрочилен для детей-аутистов? Раньше я поставил бота для общения с тупыми пендосами на апворке, но меня за это пидорнули. Похуй, ебал в рот людишек.
Аноним 21/12/21 Втр 21:53:11 260002099449
Аноним 21/12/21 Втр 21:54:22 260002156450
>>260002012
((()) неотрицательно)))))
Уложился в десять строк тебе за щеку, другалёчек
Аноним 21/12/21 Втр 21:54:46 260002180451
>>260002063
>Вероятно, это дольше, чем через стек
Схуяли дольше?
Аноним 21/12/21 Втр 21:55:58 260002249452
>>260002156
За щекой у тебя конфетка, да, забыл, 11 строк. После цикла сравнить с нулем.
Аноним 21/12/21 Втр 21:56:15 260002263453
Аноним 21/12/21 Втр 21:56:35 260002282454
>>260002249
Просто тред прочти, гений
Аноним 21/12/21 Втр 21:56:51 260002293455
>>260002069
Ты злой какой-то, чел. Если зарабатываешь норм, сходил бы к психологу, подправил мозги
Аноним 21/12/21 Втр 21:56:52 260002295456
>>259996892
>я сам 1Сник
О, подскажи, пожалуйста, все 1Сники тупые мрази с завышенным чсв, или мне просто только на таких везло? Как не приходится с каким-нить 1Сником по работе пересекаться, вечно хуярят какой-то говнокод, при этом гонору яебал. Сука, простой круд могут месяц писать, нихуя не тестируют, но всегда свысока отвечают, когда их в собственные косяки носом тычешь.
Аноним 21/12/21 Втр 21:57:10 260002313457
Аноним 21/12/21 Втр 21:57:37 260002347458
>>260001670
Лучше так - идешь в одним цикле по массиву, если скобка открывается, то увеличиваешь счетчик, если закрывается - уменьшаешь. Если в какой-то момент счетчик меньше 0, то return false т.к. встретилась закрывающая скобка, для которой слева нет открывающей. Ну и если до конца дошли, то return counter == 0
Аноним 21/12/21 Втр 21:58:19 260002381459
>>260002293
Психологи это наебалово для тупорогого скота, т.е. гоев. Ты нихуя в этой жизни не понимаешь и не поймёшь, забей, продолжай прозябать в рабстве. Я не осуждаю, такая у кого-то жизнь, кому-то презирать говно, кому то в этом говне купаться.
Аноним 21/12/21 Втр 21:58:25 260002388460
Аноним 21/12/21 Втр 21:58:43 260002403461
>>260002282
Не хочу я ничего читать, я предложил свое решение. А решил это сделать, когда увидел, что кто-то считает это олимпиадной задачей.
Аноним 21/12/21 Втр 21:58:58 260002413462
>>260002381
Да я всё понимаю, просто ты злой на всех ублюдок, хули тут понимать
Аноним 21/12/21 Втр 21:59:05 260002422463
>>259989234
Одного счётчика более чем достаточно
Аноним 21/12/21 Втр 21:59:32 260002447464
Аноним 21/12/21 Втр 21:59:32 260002448465
Аноним 21/12/21 Втр 21:59:49 260002465466
>>260002313
И что это? Его алгоритм тут правильно работает, маня

мимо >>260002347
Аноним 21/12/21 Втр 22:00:07 260002472467
>>260002347
Лучше так - идешь в одним цикле по массиву, если скобка открывается, то увеличиваешь счетчик, если закрывается - уменьшаешь. Если в какой-то момент счетчик меньше 0, то return false т.к. встретилась закрывающая скобка, для которой слева нет открывающей. Ну и если до конца дошли, то я ебу твою мамашу.
Аноним 21/12/21 Втр 22:00:24 260002486468
>>259988660 (OP)
Хуйня без задач для олимпиадников, лучше сайт сделай или программку типа конструктр расписания для вуза или что-то подобное, больше пользы будет и не почувствуешь себя дебилом, решая дебильные задачи без практической нагрузки.
Аноним 21/12/21 Втр 22:01:37 260002546469
>>260002486
Алгоритмические задачки развивают быстроту мышления и память (наверное).
Аноним 21/12/21 Втр 22:01:41 260002549470
>>260002347
Ну да, так даже короче и красивее
Аноним 21/12/21 Втр 22:02:36 260002582471
>>260002546
Чисто в теории да, но с тем же успехом можно реальные проектики пилить, которые выставить в портфолио не будет стыдно
Аноним 21/12/21 Втр 22:03:36 260002630472
>>260001922
Тогда делаем два счетчика и идем сначала по строке. Фалс вернется тогда, когда счетчик ) превысит (, или когда счетчик какой-то скобки будет больше половины длины строки, или когда символ будет не ( или ).
Аноним 21/12/21 Втр 22:04:31 260002681473
>>259991109
Нет, не всё так просто:
([{])} - тут каждый вид скобок вроде последовательно открывается/закрывается, но последовательность неверная. Я бы сделал это рекурсией
Аноним 21/12/21 Втр 22:05:16 260002722474
>>260002465
Чекай (((()()((((())((((()())()))))))))
Аноним 21/12/21 Втр 22:05:22 260002729475
Какие же вкатуны дегенераты, вот из-за таких дебилов, не способных решить пятиминутную задачу, такой пиздец на рынке.
Аноним 21/12/21 Втр 22:06:45 260002789476
>>260002486
>>260002546
>>260002582
А в практических задачах не появляется необходимость обращаться к алгоритмам и одновременно извлекать пользу и развивать быстроту мышления и память?
Аноним 21/12/21 Втр 22:07:32 260002837477
>>260002729
>>260002630
Чем моя хуйня плоха? И на первой попытке у меня ушло секунд 30.
Аноним 21/12/21 Втр 22:07:45 260002850478
>>260002789
Там другие алгоритмы, паттерны проектирование, они же шаблоны, не надо изобретать велосипеды
Аноним 21/12/21 Втр 22:08:00 260002865479
>>260002789
Появляется, но не далеко не всегда. Обычно это задачи на знание инструмента.
Аноним 21/12/21 Втр 22:08:34 260002899480
>>260002729
Так тут надо стратки знать, т.е. уже иметь опыт решения подобных задач, тогда будешь на изи решать. Интуитивно догадаться, что если число скобок закрывающих в ближайшем сегменте, то эта хуйня сломана, очередняре довольно трудно. Однако если один раз ему показать, то уже всё сразу поймёт.
21/12/21 Втр 22:08:47 260002915481
Аноним 21/12/21 Втр 22:12:18 260003131482
>>260002630
Еще можно длину строки на четность проверить, чтоб сразу полную хуйню отсеять.
Аноним 21/12/21 Втр 22:12:38 260003153483
Аноним 21/12/21 Втр 22:14:33 260003273484
Аноним 21/12/21 Втр 22:17:45 260003459485
>>260002681
Рекурсия не нужна. Нужно три счетчика, по количеству отслеживаемых скобочек.
Аноним 21/12/21 Втр 22:21:51 260003701486
>>259988660 (OP)
Тащемто все просто: на нечетных местах стоит ) на четных (. Делаешь цикл и смотришь так ли это в последовательности. Вот и все.
Аноним 21/12/21 Втр 22:24:06 260003822487
>>260003701
(())
0123
Получается чёт-нечет одновременно. На пересдачу
Аноним 21/12/21 Втр 22:24:17 260003830488
>>260003701
((((((((((МЫ ВАМ ПЕРЕЗВОНИМ))))))))))
Аноним 21/12/21 Втр 22:29:36 260004117489
Аноним 21/12/21 Втр 22:30:06 260004137490
изображение.png 124Кб, 948x445
948x445
Снимок2.JPG 83Кб, 925x552
925x552
Аноним 21/12/21 Втр 22:33:42 260004350491
>>260004137
Но ведь это решение на джаваскрипте, поэтому решение говно
Аноним 21/12/21 Втр 22:35:32 260004442492
>>260004117
Сука, обязательно найдется безмозглый уебан

псевдокод:

checked = true
cnt = 0
for i in str{
if i == "(" cnt++
if i == ")" cnt--
if cnt<0 checked = false
}
if cnt != 0 checked = false
Аноним 21/12/21 Втр 22:37:11 260004526493
>>259988660 (OP)
Настолько погрузился, что у меня в голове сразу образовалось решение для машины Тьюринга
Аноним 21/12/21 Втр 22:37:28 260004541494
14842875620460.jpg 17Кб, 232x255
232x255
>>260002180
С точки зрения скорости работы алгоритма. Одни ифы это не круто и в целом не очень умно. Но я не анализировал код, так что лишь предположение
>>260002313
>>260002263
Когда читал про алгоритм на стеке, тоже пытался подобрать варианты, в которых скобки были бы неправильными. Но алгоритм должен работать.
Аноним 21/12/21 Втр 22:39:20 260004638495
Легкая же задача. Извлекаем из строки () до тех пор, пока от неё ничего не останется (true), или будет нечего извлекать, но строка будет непустой (false)
Аноним 21/12/21 Втр 22:39:44 260004660496
Продолжаем аутировать?
def is_correct_bracket(bracket):
return bracket.count(')') == bracket.count('(')
Аноним 21/12/21 Втр 22:41:04 260004738497
>>259988660 (OP)
Двач настолько тупой что не может в рекурсию
Аноним 21/12/21 Втр 22:44:05 260004887498
>>260004541
>С точки зрения скорости работы алгоритма
С точки зрения О:
Со стеком ты кладешь в стек, проводишь операцию сравнения.
Со счетчиком ты проводишь операцию сравнения и инкрементируешь счетчик.
Ты считаешь, что инкрементировать число это дольше, чем поместить объект в стек?
Ифы у тебя один хуй будут в обоих случаях. Только со счетчиком тебе не надо тратить дополнительный объем памяти под стек, создавать стек и удалять стек после завершения.
Аноним 21/12/21 Втр 22:44:25 260004903499
21/12/21 Втр 22:48:27 260005111500
Ну всё, очкарики, закрываю тред
Аноним 21/12/21 Втр 22:50:11 260005208501
Аноним 21/12/21 Втр 22:51:23 260005282502
main-99.jpg 49Кб, 640x400
640x400
Аноним 21/12/21 Втр 22:52:25 260005339503
>>260005208
Recursion depth limit у тебя порвался
Аноним 21/12/21 Втр 22:56:25 260005527504
>>259988660 (OP)
достаточно знать что такое LIFO
и задача решается за 2 мин
Аноним 21/12/21 Втр 22:59:16 260005664505
>>259988660 (OP)
#include <iostream>
#include <string>
using namespace std;
int main()
{ string ab;
int a=0,b=0,c=0;
cin>>ab;
for(int i=0; i<ab.length(); i++)
{ if(ab=='(') {a++; }
if(ab==')') {b++; }
}
for(int i=0; i<ab.length(); i++)
{if(ab=='('&&ab[i+1]==')'){
if(a==b) {a=0; b=0;}
else { c++;break;}}
}
if(c==0) cout<<"true";
else cout<<"false";
}
Аноним 21/12/21 Втр 23:00:53 260005753506
1.jpg 77Кб, 1280x720
1280x720
>>260005664
Потише-потише, мы ведь простые питонисты, не знаем таких крутых языков как Си
Аноним 21/12/21 Втр 23:01:10 260005772507
Аноним 21/12/21 Втр 23:04:21 260005960508
Аноним 21/12/21 Втр 23:18:02 260006757509
>>259996891
>text.replace()
ох уж эти скриптовые макаки
Аноним 21/12/21 Втр 23:18:41 260006800510
>>260005664
Поправил. Теперь все правильно
#include <iostream>
#include <string>
using namespace std;
int main()
{ string ab;
int a=0,b=0,c=0;
cin>>ab;
if(ab.length()%2==1) c++;
for(int i=0; i<ab.length(); i++)
{ if(ab=='(') {a++; }
if(ab==')') {b++; }
if (b>a) c++;
}
for(int i=0; i<ab.length(); i++)
{if(ab=='('&&ab[i+1]==')'){
if(a==b) {a=0; b=0;}
else { c++;break;}}
}
if(c==0) cout<<"true";
else cout<<"false";
}
Аноним 21/12/21 Втр 23:21:03 260006961511
#include <iostream>
#include <string>
using namespace std;
int main()
{ string ab;
int a=0,b=0,c=0;
cin>>ab;
if(ab.length()%2==1) c++;
for(int i=0; i<ab.length(); i++)
{ if(ab=='(') {a++; }
if(ab==')') {b++; }
if (b>a) c++;
}
for(int i=0; i<ab.length(); i++)
{if(ab=='('&&ab[i+1]==')'){
if(a==b) {a=0; b=0;}
else { c++;break;}}
}
if(c==0) cout<<"true";
else cout<<"false";
}
>>260006800
Сука двач тролет. Анонасы, зацените
Аноним 21/12/21 Втр 23:29:29 260007428512
>>260006757
Завидуешь, байтослесарь?
Аноним 21/12/21 Втр 23:32:41 260007604513
>>259996178
Это не рекурсивная задача, долб.
Аноним 21/12/21 Втр 23:49:32 260008539514
>>259999852
Да исходную тоже лучше через стэк. Если мне на собеседование ещё начнут затирать как долбоебы выше что стэк увеличит выч сложность вообще сразу закончу разговор.

Счётчик это решение конкретно 1 задачи в одном случае, уровень решение студента на лабе.
Стэк это решение всего класса задач. Неважно что там на входе такой алгоритм подходит для любой пары символов, знай себе в конфигурации их пропиши. Даже @({})\/[]##(##)[!!]@. Буквально пара секунд на внести правки в конфиг.

Это банально лакмус долбоебов которые дальше прям сейчас не думают. Решение через стэк не сложно написать, не сложно поддерживать и оно очень гибкое.
Аноним 22/12/21 Срд 00:16:56 260009931515
p027qj0x.jpg 52Кб, 976x549
976x549
>>259988660 (OP)
Сдаётся мне, что ОП давно уже работает программистом, а тред сощдан, чтобы посмеятся над вкатунами и заводчанинами, мол вот глядите какие работяги тупые, погромирование это только для элит интеллектуальных. Вообщем ОП - хуй и мулак с завышенным ЧСВ.
Настройки X
Ответить в тред X
15000
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов