Этого треда уже нет.
Это копия, сохраненная 21 декабря 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Решал эту задачу 3 часа, до сих пор в шоке, насколько 259988660 В конец треда | Веб
Решал эту задачу 3 часа, до сих пор в шоке, насколько сложное это ваше программирование для обычного заводчанина. И это якобы курс для школьников, задача далеко не самая сложная. Тем более Python, который считается очень легким языком. На каком-нибудь С++ я бы это 3 дня решал. Видимо, нужно иметь очень высокий интеллект, чтобы вкатиться в программирование и сильные математические способности, иначе там просто нечего делать.
2 259988885
Хуйня, а не задача. На практике это нигде не пригодится.
3 259989053
>>88660 (OP)
Это олимпиадная задачка
Нахуй тебе она нужна?
4 259989159
>>88660 (OP)
В алгоритмических олимпиадных задачах язык не решает ничего
В реальной разработке ты ничего сложнее реализации дерева и поиска по нему писать не будешь
Тем более все эти алгоритмы легко гуглятся
5 259989184
>>88660 (OP)
Давай разберем по частям тобою написанное.

>задача далеко не самая сложная


Да. Абсолютно изи. Рил за 1 минуту решается.

>Тем более Python, который считается очень легким языком. На каком-нибудь С++ я бы это 3 дня решал.


Нет. На уровне простых задачек различия языков не проявляются.

>нужно иметь очень высокий интеллект, чтобы вкатиться в программирование и сильные математические способности


Интеллект помогает, но не является обязательным. Можно надрочиться на конкретные типы задач. Тебе сложно именно томучто ты не знаешь примеров решений похожих задач.
6 259989234
>>88660 (OP)
Решается за минуту с двумя счётчиками и одним циклом по строке
7 259989557
>>88660 (OP)
Считаешь открывающиеся скобки, считаешь закрывающие, сравниваешь, до этой хуйни ифы которые проверяют есть ли чтото кроме скобок.
Чо сложного?
8 259989643
Ну типа, если ты правда заводчанин и решил ее за 3 часа без гугления, то это норм - у тебя есть будущее в IT.
10 259989817
>>89557

>читаешь открывающиеся скобки, считаешь закрывающие, сравниваешь


)(
11 259989975
>>89234
ну-ка давай, реши с двумя счётчиками, гений
12 259990051
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("())()()()("))
13 259990102
>>89975
Один счетчик, за линию
14 259990200
>>88660 (OP)
Тут же тупо щотчик нужен
15 259990217
>>88660 (OP)
Если получилось это решить значить есть перспективы и всё ок.
Просто продолжай в том же духе. Ты же не собирался получить востребованную и высокооплачиваемую работу за месяц?
16 259990234
>>90051
нет уебанчик, неправильно. Ищи ошибку.
17 259990282
>>90102
это >>90051 ты? Тогда тебе сюда, чмоня >>90234
18 259990301
>>90051
>>90200
>>90102
дауны, что вы пишите? Классическая задача на стек, не ебите мозг.
19 259990319
>>88660 (OP)
Это классическая задача из универа 100%
решается через стек
20 259990403
>>88660 (OP)
А скобки бывают еще разные, [ { ( ) } ]

Ебало "счетоводов" представили?!
21 259990406
Специальной олимпиады тред?
Специальной олимпиады тред!


Теперь решите то же самое, но скобок может быть три вида - [], (), {}.
22 259990455
>>90403
Ебать, мы с тобой хайвмайнд.
23 259990466
>>88660 (OP)

>Видимо, нужно иметь очень высокий интеллект, чтобы вкатиться в программирование и сильные математические способности, иначе там просто нечего делать


Ебать! А ты думал, что там всё просто? И всё решается гуглежом? А задача интересная, кстати.
24 259990525
>>90466

>И всё решается гуглежом?


Но так и есть. Нашел решение за 2 минуты в гугле.
25 259990526
>>90234
Проверить не незакрытые скобки забыл, да
26 259990551
>>88660 (OP)

>Тем более Python, который считается очень легким языком. На каком-нибудь С++ я бы это 3 дня решал.


Это алгоритмические задачи, вообще пох на чём писать.
>>88885
(define (ti-pidor? anon)
(eq? anon 'op))
27 259990583
>>90217
Собирался. Зачем я по-твоему с завода уволился?
28 259990604
>>90525
Ну а потом тебе надо будет написать какую-нибудь хуету, аналоговнет которой. У меня такое было и пришлось думать самому.
29 259990608
>>90301
Тогда тебе задача со звездочкой. Придумай тест, который не пройдёт вот у этого анона >>90051 , если он в конце добавит проверку незакрытых скобок.
30 259990640
>>90583
устраивайся обратно. В лучшем случаи, если не будешь ебланить, год уйдёт.
31 259990685
>>88660 (OP)
public static boolean isCorrectBracket(String string) {
return string.matches("^\\([()]+\\)$") && (string.chars().filter(ch -> ch == '(').count() == string.chars().filter(ch -> ch == ')').count());
}

5 минут, с гуглением регекспов
мимо джава господин синьор помидор 300КК нсек
32 259990737
>>90685
хуя дебил
33 259990739
>>90685
обосрался и не прошёл по времени. Уноси своё интрерпайз говно отсюдава.
34 259990762
>>88660 (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
}

>>88885
Абсолютно стандартная задача для любого парсера. Иди нахуй, чмошник безграмотный.
34 259990762
>>88660 (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
}

>>88885
Абсолютно стандартная задача для любого парсера. Иди нахуй, чмошник безграмотный.
sage 35 259990781
>>88660 (OP)
У тебя получится, анон. Просто посчитай скобочки.
Если у тебя закрывающих скобочек становится больше, чем открывающих шли им false.
36 259990787
>>90455
Wake up, Anon. The Matrix has you
37 259990818
>>90685
я то блять думаю, хули джава приложении такие говно тормознутное. Оказывается джава синьоры классическую задачу на стек через регулярку решают. Ебааааать
38 259990855
>>89817
>>89798

Пушто надо на каждой итерации проверять что скобки не уходят в минус, как тут >>90762
sage 39 259990883
>>89798
>>89817

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

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

)(
0 откр 1 закр -> (0 < 1) -> false
40 259990916
>>90737
>>90739
эх, детишки. есть задача ,есть решение, в условии нет требований к производительности, да и сложность тут один хер линейная. а вам кста перезвонят с вашими счетчиками и иф зен элсами
41 259990917
>>88660 (OP)
а как ты реализовал? мне кажется через рекурсию можно ебануть довольно красиво
42 259990931
>>88660 (OP)
Это элементарная задача на понимание структуры данных "стек", чего там больше пяти минут пердолиться? Может не пытаться по говнокурсам вайти, а в универ поступить?
43 259990945
>>90818

> классическую задачу на стек



Нахуй тут стек? Регулярками конечно трешево, но стек-то тоже ни разу ни в кассу.
44 259990954
>>90855
guard struna_so_skobkami.count % 2 !=0 else {return false}
В свифте есть гвард, в питоне можно просто if в функцию на старте запихать, нет смысла решать задачу как-то после осознания что количество скобочек нечетное
45 259990973
поясните непогромисту. с одним видом скобок надо просто проверять чтобы количество закрывающих никогда не превышало количество открывающих. с большим количеством видов скобок надо применять другие алгоритмы
46 259990988
>>88660 (OP)
нет. обычная веб-макака не быстрее тебя её решать будет
47 259990993
>>90954
там == а не != должно быть, ну вы поняли
48 259991004
как поставить на счетчик программистов с зп 300кк?
49 259991018
>>90945
Покажи решение без стека, интересно
50 259991022
51 259991026
ОПчик, скинь своё решение.
52 259991030
>>90973
И правильно это не пердолить одно решение 2-3 раза в зависимости от условий, а делать сразу правильно
53 259991044
>>88660 (OP)
Смешной сарказм!
54 259991052
>>90916
челикс, твоё решение просто неправильное, праизвадительность ты сам выдумал тут
55 259991064
>>91004
Оформить их по ИП и сломать прод
56 259991104
>>90945
погугли, долбоёб, ещё предлагаю изучить что-нибудь прежде чем писать хуюту тут.
sage 57 259991109
>>90973
Эмм... нет, там ведь то же самое - если закрывающая раньше открывающей, то вырубай машину
58 259991110
>>90954

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



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

Какого тут космического эффекта дает guard -- непонятно.
59 259991114
>>91022
с самого начала закрывающих боььше чем открывающих
60 259991120
>>88885
Еблуша, алгоритмы подсветки скобок для редакторов решают именно эту задачу
61 259991139
gg
sage 62 259991147
>>91064
Слышь, я тебя сам по IP оформлю, фуфел
63 259991152
>>90916
там есть ограничение по времени и по памяти, ОП их не заскиринил
64 259991157
>>89053
На олимпиаде это задачка решается в 1 строчку.
cout << true;
Половинные очки, считай получил, и время не потратил.
65 259991160
>>91030
вот еще ебаться ради универской задачки
66 259991164
>>90762

>if counter == 0 return true else return false



Ебало этого олимпиадника, который даже не понимает, что можно просто написать "return counter == 0", представили?
67 259991180
>>88660 (OP)
Идешь по массиву и считаешь открывающие и закрывающие скобки. Если в какой-то момент открывающих больше - false. Если в конце количество не совпало - false. Иначе true.
68 259991201
>>91104
Ясно, порвался. Ты бы ещё красночерным предложил бы это решать, клоун.

>>91018 -> >>90762
69 259991210
>>91180

>Если в какой-то момент ЗАКРЫВАЮЩИХ больше - false


Быстрофикс.
71 259991263
>>91110
Это свифтовая привычка
Я не знаю как в других языках, но например когда пишешь любой алгоритм сортировки, всегда начинаешь с
quard arr.count == 1 else {return arr}
Я думаю в других языках тоже аррей с 1 элементом считается отсортированным. Поэтому есть тенденция в гвард запихивать все корнеркейсы как ты их назвал
72 259991278
>>88660 (OP)
по идее можно сделать цикл с проходом по всем символам и на каждую встреченную открывающую скобку искать дальше по строке закрывающую, после чего удалять закрывающую или запоминать её индекс. и если в конце остаётся неотмеченная закрывающая скобка или открывающая без пары или вообще если строка начинается с открывающей то сразу FALSE
73 259991284
>>90931

> говнокурсам вайти, а в универ поступить?



Любой говнокурс по программированию лучше, чем то, что дают в среднем универе. В универ нужно идти не для того, чтобы научиться программированию, а чтобы получить хорошую математическую базу и начать шарить в алгоритмах. Чтобы стать васяном погромиздом на 90% вакансий универ нахуй не всрался.
74 259991297
>>91217
как тебе сказать... завод это неплохая работа!
75 259991298
>>88660 (OP)
А массивами пользоваться можно?
Можно по индукции найти закономерность, что правильные скобки - это четные и ( должен предшествовать ), короче для n=2: (), для n=4: ()(), (()) для n=6:()()(), ()(()), ((())) и т.д.
Т.е. как видишь следующие последовательности получаются из предыдущих добавлением для каждой из них либо () по разным сторонам от скобок, т.е. для n=4 это добавление для () сбоку скобки (), либо внутри (...), как например (()) новых скобок.
Короче, создаешь массивы строк правильных скобок для хотя n=32, а потом через поиск находишь соответствует ли входная скобка правильной, просматривая массив и находя подобную скобку, если не найдена, то скобка неправильная.
76 259991305
>>91160
Хуй там, первая подзадача не решена, остальные не проверяются.
77 259991313
>>90818
чувак, парсер регулярок в сто раз тебя умнее и он проверит даже блять оптимальнее чем твое посимвольное корявое поделие. На строке в 100 миллионов символов проверка этой регулярки отрабатывает за 93 мс, и это возможно даже лучше чем втое кривое косое поделие, по крайней мере уж никак не хуже. учите матчасть епта
78 259991327
>>91180
Бред же )(() выдаст true
79 259991331
>>88660 (OP)
Алгоритм простой на стек, решается в один проход.
Бежим по строке слева направо, когда встречаем открывающую скобку заносим оную в стек, при закрывающей вытаскиваем значение из стека. В конце если стек пустой - последовательность верна. Работает с любым количеством скобок. Линейная сложность алгоритма O(n).
Знатоки, правильно решил?
80 259991350
>>89817
>>89798
Бля обосрался
А если тогда сделать чтобы иф посимвольно проверял строку, когда находит ( в переменную записывается номер символа и дальше считвает пока не найдёт ) эти две скобки удаляются, если в строке не осталось символов тру, если что то осталось фолс. Проверьте, а то чувство что опять проебался.
image.png510 Кб, 800x520
81 259991354
>>90685

>синьор помидор 300КК нсек


каунтер++
ёпта
82 259991366
>>91164
Ого, ну нихуя себе, ты сэкономил целых пару строк условного иллюстративного псевдокода на выдуманном языке, вот это да! Ты наверно такой умный!
83 259991374
>>91217
Скинь ссулку на сайт, чтобы синьор жаба-долбоёб и джун стек-ненужен проверили свои решение и поняли как они обосрались.
84 259991407
>>91327
Учитывая быстрофикс - не выдаст. На первом же элементе закрывающих больше - значит false.
85 259991438
>>89159

>Тем более все эти алгоритмы легко гуглятся


Как гуглить алгоритмы? Как понять какой алгоритм для конкретной задачи нужен? Как допустим из трёх алгоритмов определить самый подходящий под конкретный случай, допустим из трёх доступных?
87 259991447
>>91350
Бля пока писал уже дохуя кто решение написал похожее
88 259991492
>>91263
Это обычный ассерт. Ничего специфичного свифту тут нет. И корнеркейс тут банально не нужен.
89 259991498
>>91331
Да. Это задача часто встречается на собесах где я и обосрался
tekken 6 psp menu theme.webm1,7 Мб, webm,
480x272, 1:28
90 259991499
91 259991504
>>91298
Можно ещё пиздаче сделать. Хуярим нейронку (трансформер) и тренируем его на миллионе примеров.
92 259991552
>>88660 (OP)
Изичная задача же, ты чего
мимо бывший инженер-конструктор, перекатившийся с завода в с++
93 259991555
>>91284
так нахуя в среднем вузе учиться? кроме топ вузов почти все универы говно
sage 94 259991575
>>91354
Пятки поднял - уважение программистов потерял
95 259991584
>>91552
Так ты то инженер, а не макака
96 259991590
>>91201
>>90685
>>91313
вперед фармашлёпы ->>>259991444
97 259991603
>>91331
Хуета, можно и без стека обычным счетчиком -- это раз

На каждой итерации надо проверять что счетчик не ушел в минус, т.е. что закрывающиеся скобки не появились раньше открывающихся.
98 259991606
Поэтому надо блять учить алгоритмы и структуры данных. Расскажите вкатывальщикам про стэк
sage 99 259991621
>>91366
Нет, просто ты тупой.
100 259991630
>>88660 (OP)
Тоже пытался вкатиться в пограмирование некоторое время назад и тоже решал подобные задачки, у меня друган есть синьор помидор на яве 200к в наносекунду, так я её терроризировал постоянно с помощью по задачкам, так вот мы вместе сидели и тупили как правильно это сделать. С реальными рабочими задачами эта хуйня имеет мало общего.
101 259991657
>>91438
https://stepik.org тут есть хорошие курсы по алгоритмам и структурам данных
102 259991715
>>91630
к сожалению имеет, просто часто этого разрабы не видят, и решают задачи не оптимальным образом. Современное железо, к счастью, позваляет.
103 259991752
>>91298
Короче выглядит так
1 Создать большой список или массив строк
2 Первый (нулевой) элемент массива равен (), т.е. n=2
3 Заполнить оставшиеся элемента списка или массива прибавлением или конкатенацией скобок '()' + 'предыдущая правильная последов скобок',
либо 'предыдущая правильная последов скобок'+')',
либо '('+'предыдущая правильная последов скобок'+')'
4 Делаем так n раз, например 64 или 100
5 Получаем массив правильных скобок
6 Получаем входную скобку через функцию и ищем ее в массиве правильных скобок
7 Если найдена - вывести True, иначе False
104 259991753
>>91313

> чувак, парсер регулярок в сто раз тебя умнее и он проверит даже блять оптимальнее


беспруфный джава петушок, пожалуйста, да и вообще, сейчас бы регулярками подсчитывать количество символов, даже не представляю, какой говнокод ты высираешь ежедневно
105 259991754
>>89975
Решу с 1 счетчиком.
Берешь счетчик.
Запускаешь цикл
В цикле берешь след символ.
( - плюсуешь 1
) - минусуешь 1
На каждой итерации проверяешь, счетчик меньше нуля - брейк.
После цикла, счетчик 0 - все окей. Не 0 - последовательность говно.
106 259991763
>>91438
>>91657
Не надо степик или любые другие платформы кроме
https://openedu.ru/course/ITMOUniversity/PADS/
Проходите его, отвечайте на задания, потом можно даже корку с ИТМО запросить, это лучше чем срань для детей на степиках
107 259991765
>>88660 (OP)
Просто твой мозг не привык решать такие задачки, решай дальше.
16276867118720.jpg113 Кб, 706x720
108 259991810
>>91590
Безграмотный клоун пытаться доказать что обычная задача на один интовый счетчик должна решаться через целый стек?

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

>>91621

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


> Делает вид, что не тупой



Макака, ты бы ещё умением джавадок писать выебнулся.
109 259991826
>>91765
Тем более если ты не знаешь оч такое стек заебешься решать
110 259991853
>>90685
Неверное решение. Если не понимаешь, почему, то дебил.
())(()
111 259991855
>>91754
А теперь скобки бывают ещё кадратные. Твоё решение?
112 259991913
>>90301

> Классическая задача на стек



Классическая задача на стек -- это обратная польская нотация. А тут стек алгоритм в O(1) по памяти превращается в O(n) в худшем случае. ХУЕТА и стек тут не нужен. Задача с 1 курса универа, буквально Laba3.pas, ебана. Пиздец вкатывальщики пошли, я хуею.
113 259991923
>>91810
ты нахуя в треде срёшь, если у тебя есть возможность всё доказать решив задачу?
114 259991958
охуеть
Screenshot2021-12-2120-54-17.png105 Кб, 1347x527
115 259992021
>>90217
Охуенно высокооплачиваемая да. Иногда вкатываюсь на джуна непонятно зачем. Недавно сделал очередное тестовое. Пиздец говна поел со всеми этими мавенами, спрингами, хибернейтами, жсонами и прочей поеботой. Просто блять вагонище тупорылый технологий, смысл которых вообще не понятен почему блять именно хибернейт, почему нельзя JDBC а потом уже на стажировке тыкать хибернейт? Предлагают стажировку джуном 3 мес. зп - 10к меньше минималки, да, типа буду на 0.75 ставки или как там. Блять я когда на сврщика учился в пту по путевке от цзн - я меньше килограмма электродов сжег, и меня уже мастер звал работать куда-то за 25к для начала. И сварщиком если вкалывать как и кодером, зарплата будет не меньше, и зная язык можно оформить перекат в норм страну.
116 259992053
>>91923
Её уже N раз в треде решили:

>>91754

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

Всё без стека прекрасно решается. Вообще нахуй не нужен стек, если тебе не надо знать какие-то детали про каждый элемент на стеке. В данной задаче достаточно понимать что скобки должны в итоге засумммироваться в 0 и всё.
117 259992056
>>91217
Бля в голос
Попробуй нормально через стек решить
118 259992060
>>88660 (OP)

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

Я ничего сложнее экселя никогда в руках не держал, но прост если проблема в самой форме записи то это дело наживное, главное вникать и закладывать в голову все больше с каждым днем. Если проблема в том чтобы написать код который сам определит, какие символы в тексте должны совпадать по количеству, то ты там дата саентистом что ли идешь?
# OP 119 259992086
>>92056
Что это?
120 259992092
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
121 259992102
>>91855
Отдельный счетчик для каждого уровня вложенности. Проще не могу придумать.

мимокрок
122 259992106
>>92060
строка ")(())(" ссыт твоему решению на ебало
123 259992109
124 259992117
>>92060
Выше уже писали
)(
125 259992131
126 259992134
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;
}

Все верно или чего-то не учел?
Кстати тоже два часа примерно ебался
126 259992134
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;
}

Все верно или чего-то не учел?
Кстати тоже два часа примерно ебался
127 259992140
>>91331
Что будешь вытаскивать из стека если первая скобка - закрывающая?
128 259992153
>>92092
>>92060
>>90762
Мда, в треде не поняли, что последовательность
)()( - не является правильным, даже несмотря на то, что число ( и ) совпадает, вы условия читайте нормально
129 259992160
>>92060
А, да, я понял. Я долбаеб. Ну что ж, интересно даже.
130 259992176
Куда вкатываться, если в мухосрани живешь?
131 259992179
>>91855
Ты мне оффер-то пришлешь, или я тут бесплатно тебя развлекаю?
Олимпиадное решение писал выше.
132 259992222
>>92153

ты, хуило, прежде чем что-то высирать, код прочти нормально. Твой пример успешно будет задекчен.
133 259992274
>>92131
Для этого случая работает. Получается, нужно завести массив счетчиков и добавлять элемент каждый раз, когда открывается скобка другого типа. Тогда ты уже на третьем элементе получишь -1 и, соответственно, false.
sage 134 259992277
>>92021
Полоска посреди экрана чтобы не писать длинных строчек?
135 259992281
>>92222
Трипло квадрипл дай денег
136 259992353
>>92021

> Просто блять вагонище тупорылый технологий, смысл которых вообще не понятен почему блять именно хибернейт, почему нельзя JDBC а потом уже на стажировке тыкать хибернейт?



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

> Предлагают стажировку джуном 3 мес. зп - 10к


Да это ещё и охуеть, ты же вообще не умеешь нихуя. Тебе в пору бы самому раскошелиться и хоть на какие-то курсы сходить, а то ты же реально в принципе не понимаешь что происходит.
137 259992364
>>92179

> Ты мне оффер-то пришлешь, или я тут бесплатно тебя развлекаю?


Проиграл, могу тебе говна в рот из моей жопы прислать.
138 259992366
>>92140
Проверяем, пустой ли стек, перед тем как вытаскивать.
139 259992392
>>88660 (OP)
А хули сложного.
Ждёшь первую скобку. Если она открывающаяся, идёшь дальше, если нет, сразу false
Идём дальше. Делаем 2 переменных счётчика. Одна для (, другая для )
Если в конце строки оба счётчика равны, выводим тру, иначе фолс.

Мимо тред не читал
140 259992410
(((Жиды)))
141 259992445
>>92281
сколько? Кидай номер
142 259992448
>>88660 (OP)
Это задача из синтаксических анализаторов, парсеров, там целая теория по грамматикам и тд, тут не так всё просто. Мне её объясняли как решать в шараге, хотя я и сам до этого калькулятор для любых выражений писал. Не помню уже за сколько этот анализатор тогда написал, но больше чем за 3 часа явно, мб за несколько дней даже. Так что не так всё плохо, если ты дел с прогой до этого вообще не имел
143 259992459
>>92153

> Мда, в треде не поняли, что последовательность )()( - не является правильным



Всё поняли, читай внимательно >>90762 -- там внутри цикла на каждой итерации проверка что закрывающая скобка не появилась раньше времени (if counter < 0)
144 259992496
>>92086
Это такой список, к которому можно добавлять элементы только в конец и убирать их тоже только из конца.
то есть ты просто создаешь в пятоне список и "играешь" по этим правилам. Подумай как ты можешь стек использовать в этой задаче.
145 259992515
>>88660 (OP)
Это задача на знание и понимание стандартных алгоритмов и структур данных, а именно стека, ну и проверка на то, что у тебя есть обычная, человеческая логика и здравый смысл. Если ты её решил за три часа не зная, что такое стек - то ты сверхразум и очень далеко пойдешь, без шуток.

> Тем более Python, который считается очень легким языком. На каком-нибудь С++ я бы это 3 дня решал.


В такого рода задачах язык ни на что не влияет, максимум - придётся гуглить стандартную библиотеку, если ты её не не знаешь.
146 259992544
>>92448

> Это задача из синтаксических анализаторов, парсеров, там целая теория по грамматикам и тд, тут не так всё просто



Тут всё супер-просто. Подсчет скобок вообще самая тупая и тривиальная задача из области парсинга поэтому в машиночитаемой хуйне так часто используются всякие скобушки, не надо никаких грамматик выдумывать.
147 259992582
148 259992597
>>92544
Ясно
149 259992607
>>92392
())(
Уволин
150 259992636
>>92176
В стог сена с Манькой
sage 151 259992656
>>92515

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


Как же жирно, боже.
152 259992670
>>92597
Хуясно. Балансировка скобок у него сложных грамматик требует, ну пиздец довеню
sage 153 259992771
>>88660 (OP)
А что там решать? Заводишь счетчик. Прибавляешь 1, если скобка "(", и отнимаешь 1, если скобка ")"/
Если в какой-то момент в счетчике отрицательное число, возвращаешь false. Иначе true.
154 259992778
>>92515

> Это задача на знание и понимание стандартных алгоритмов и структур данных, а именно стека



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

Нам в этой задаче нахуй не надо знать детали каждого элемента на стеке, достаточно осознания что скобки друг друга закрывают и одного счетчика для их подсчета.
155 259992835
>>92778
O(1) vs O(n) по памяти, в пользу счетчика.
156 259992845
ОПчик, спасибо за тред, из-за довенов в ответах прям синдром самозванца пропадает!
157 259992867
158 259992895
>>88885

>Хуйня, а не задача. На практике это нигде не пригодится.



Мне похожие задачки на интервью давали много раз.
159 259992913
>>88660 (OP)
в целом это тебе базовую идею стека дают, скажем какая нибудь польская запись - считай та же самая идея, не парся анон, по началу всем непросто, учи и выучишь - гарантирую
sage 160 259992920
>>92867
Действительно. Нужно, чтобы в конце было 0.
161 259992930
>>92845
Два чая, я как раз переживал что плохо за структуры шарю и иногда переусложняю с ними. А тут задачу на счетчик стеком решают, пиздец.
sage 162 259992950
>>92913
Нахуя там стек, даун?
163 259992979
>>92670
Дурачек ебанутый, не бомби, я во-первых, не с тобой разговаривал и вообще просто подбодрил чела. Грамматику в две строчки даже для этого стоит написать просто для того чтоб легче код было составить. А свою душноту ну тут все просто это тривиально и тд на собесе мне расскажешь, тут мне хуету написывать не надо, не интересно
164 259992996
print(s[0]=="(" and s.count(")") == s.count("("))
165 259992999
>>88660 (OP)
Корректная скобка начинается с "(" и заканчивается ")", остальное не имеет значения, это же из примеров видно. Джуниоры ёбаные, счетчики какие-то придумывают, циклы...

мимо помидор
166 259993011
>>88660 (OP)
Ну 3 часа это еще нихуево, я именно на эту задачу вообще весь вечер потратил когда учился.
Не ссы, это нормально.
мимо 250к/мес дата сайнс питонист без рофла
167 259993021
>>92950
я обобщил идею, дегенерат, если тебе попросят считать 10 видов скобок? ты сделаешь 10 счетчиков, да?
sage 168 259993026
>>92996
)))(((
169 259993039
>>92778
Ты прав, у меня просто сознание извращено литкодом и техническими интервью, и я подразумевал, что следующим вопросом будет "а что если скобочки будут разными?"
Для задачи из ОП-пика стек не нужен.
170 259993043
>>92913
Да какого стека, нахуй тут стек не нужен -- наоборот детект дебила, который не знает для чего полезен стек. Одно дело польская запись, когда тебе реально на стеке надо детали какие-то хранить, а потом при обходе обрабатывать. Другое дело тут, когда можно счетчик воткнуть.
sage 171 259993063
>>93021
Я сделаю массив счетчиков. Нахуя там стек, даун?
172 259993088
>>92999

>остальное не имеет значения


())(()
И чё?
173 259993104
>>93043
на интервью нормальном тебе эту задачу разовьют до стека не волнуйся, дебил, пока в джунах посиди
174 259993121
>>92996
Выкатывайся из кодинга.
175 259993175
>>88660 (OP)
Задача нихуя не простая, это считай интерпретатор япа на минималках надо написать.
176 259993199
>>93063
Попробуй массивом счетчиков распарсить ({)}.
177 259993231
>>92979
Хоспаде, как же я люблю безграмотных дебилов, которые несут какую-то хуету, а потом жалуются что им "душно", когда их закономерно покрывают хуями за их хуйню.

Пиздец, грамматику он собрался "писать", чтобы скобки балансировать, что за клоун, а.
178 259993237
>>93175

>Задача нихуя не простая


>один цикл с одним же счетчиком и подсчетом результата в конце

sage 179 259993259
>>93199

>Попробуй массивом счетчиков распарсить ({)}.


А кто сказал, что эта последовательность некорректна?
180 259993267
181 259993300
Оп, ты ебнулся такую хуйню решать? Это же задание для собеседования на миддла, не меньше.
sage 182 259993312
>>88660 (OP)
пасрал на вайтишку
183 259993317
>>88660 (OP)

> нужно иметь очень высокий интеллект, чтобы вкатиться в программирование и сильные математические способности


Нет, достаточно иметь средний интеллект, внимательность и усидчивость. Но программирование весьма жестоко в этих требованиях. Если твой интеллект НИЖЕ среднего, то это сразу всё, ловить тебе тут нечего. От тебя требуется понимать множество довольно простых вещей, но у тебя при этом нет права на затуп. Да, эти вещи простые, но если ты что-то не сможешь понять, то тебе никто не поможет, а без этого понимания ты не сможешь двигаться дальше. Тут нельзя сказать "хуй с ним" и надеяться, что результат просто будет чуть хуже, что потом можно будет скомпенсировать опытом. Про математические способности это вообще смешно, говорю, как чел с топ математическими способностями (если конечно ты не имеешь ввиду способность посчитать "2 + 2 х 2")
>>89053
Посмотрел бы на такую олимпиаду, лол. Это задача на отработку синтаксиса языка: циклов и условий. Автор, наверное, даже не подозревал, что для кого-то станет проблемой сама логика задачи
184 259993345
>>93104
Сам ты дебил и джун. И если мне внезапно на интервью попытаются эту хуету развить в стек, я сразу же оттуда съябусь, ибо понятно что передо мной оказался студентик, который про структуры данных прочитал, а подсчитывать сложность алгоритма не научился.

Пиздец, стек для балансировки скобок.
185 259993354
Очевидно задачу надо решать через SMT-солвер, кто этого не понимает - макисмум джуны!
186 259993358
187 259993361
>>93317
А если хуево с внимательностью?
188 259993388
>>93354
>>93345
лол вкатывальщики сгорели
189 259993396
>>91754
А теперь представь, что у тебя сначала идёт пять закрывающих скобок подряд, а потом пять открывающих. По твоей программе это будет правильной последовательностью, поскольку в сумме счётчик будет ноль.
Мимо решал задачу посложнее на Олимпиаде
sage 190 259993400
>>93011
А ты её решал через счётчик или через стек?

Я решил её за полчаса-час примерно, в рамках пары
мимо 12к/мес стрит клининг спешиалист
191 259993417
>>93088
Ладно, я тупой, задача была про скобочную последовательность , а не про то, что правильно были использованы скобки, невнимательно прочел. Спасибо автору за то, что убирает мне конкуренцию, понижая вкатунам самооценку и давай задачки, которых не почти никогда бывает в реальности.
192 259993464
>>88660 (OP)
(((плюмодебил)))
193 259993480
>>93388
Иди про O(n) почитай, вкатывальщик. Без понимания этой истории все твои "знания" про структуры данных -- говно полнейшее. Ты же даже не понимаешь как оценить объективно какая структура и подход для какого кейса лучше.
194 259993493
perl -le '$_="()(()())";1 while s/\(\)//;print $_;print qw(false true)[!$_]'
195 259993507
>>93361
Это кое-как тренируется (не внимательность вообще, а внимательность в конкретной области применения)
196 259993559
>>93400
Через нейронку прогнал по фасту, ну есть пару либ для питона, хз как по другому решать, задача не из простых, очевидно. Макбук чуть не перегрелся.
197 259993570
>>93480

>вкатывальщик гедто услыщал про O notation


так жалко вкатывальщиков ппц, дегенератам ничего не светит
198 259993591
тупое решение - гоняем цикл, каждый раз заменяя "()" на "".
если невозможно - все, выводим фалс.
О(n^n/2) сложность.

хитрое - 2 счетчика.
первое - проверка четности лен(стр).
нечетное - фалс.
левые и правые.
проход слева.
считаем левые, вычитаем из них правые. если сумма меньше нуля - брейкаем, фалс.
Screenshot2021-12-2121-30-00.png125 Кб, 1366x588
199 259993659
>>92353
Ну так вот. Знать надо просто овердохуища, чтобы попасть на эту не самую оплачиваемую работу. В любую другую профессию вкат не требует такого адового задрачивания.

Вот вроде оповскую задачку решил
sage 200 259993682
>>93559
У тебя макбук? Ты что, гей?
201 259993735
>>93231
Так ты сам кринжовую хуйню высираешь, у тебя логика макаки формошлепа который бежит сразу формошлепить. Тебе вопрос зададут как задачу решать, ты в слух грамматику озвучишь и все, вопросов вообще к тебе не будет. Не понимаю в чем тут проблема, может ты взорвался из-за незнакомых слов? Не знаешь как грамматику составить для этого тривиального случая?
202 259993759
>>93682
Нет не гей, а метросексуал. Ну вообще я не против геев, моя девшука и ее бойфренд тоже ничего против не имеют.
203 259993804
>>93570
Пиздец у тебя кодстайл, конечно. Учиться и учиться.

Нахуй ты пытаешься стек тут построить? Он тут не нужен, тебе банально не за чем хранить эту хуету на стеке лишний раз.
sage 204 259993819
>>93759
Метросексуал? Тебя уже отпустили, после того как ты девок в метро по жопам шлёпал и на дваче хвастался?
205 259993833
>>93659
>>93804

Проебался.
206 259993838
>>93237
Кому ты пиздишь, маня, эта задача не решается циклами или регулярками.
Там надо через стек все это прокидывать.
Процесс буквально тот же самый, что в интерпретаторах япов, эту задачу рассматривают на курсе компиляторов/интерпретаторов.
207 259993877
>>93396
Чел, не ебись в глаза

> На каждой итерации проверяешь, счетчик меньше нуля - брейк.


На твоей последовательности счетчик на первой же закрывающей скобке уйдет в минус, цикл вылетит, счетчик не равен нулю. Фолс.
208 259993906
>>93819
Еще и опустили, но я не теряю духа, жизнь продолжается.
image.png8 Кб, 502x251
209 259993945
>>93659
дуракштоле
210 259993955
>>88660 (OP)
Решается за 1 минуту, если скобка открывающая, пихаем в стек, если закрывающая, то вынимаем из стека, если вынуть не можем, фейл, если в конце стек непустой, фейл. Все. Любой прочитавший одну книгу по написанию компиляторов это знает.
211 259993956
>>93838
Эта задача из курса для 6-классников, которые впервые узнали, что такое программирование. Какой нахуй стек?
212 259993969
>>93877
Всё понял, спутал со своей задачей, спасибо Анон.
изображение.png27 Кб, 658x576
213 259994011
214 259994065
>>93267
Так еще хуже, потому что прибавляя значения не разделяя тип скобок, ты делаешь все счетчики одинаковыми.
Если я неправильно тебя понял, то покажи решение - https://leetcode.com/problems/valid-parentheses/
215 259994167
>>88885
Долбоебик, засада выполняет свою работу. Тот, кто не может ее решить на практике никому нахуй не нужен. Ору с погромистов с нулевым интеллектом.
216 259994168
>>94011
(()тыхуй())
че вернет?
217 259994174
всем вкатывальщика которые форсят решение через счетчик

>преждеверменная оптимизация


>не способность обобщить решение



спасибо мы вам перезвоним
218 259994217
>>90406
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
219 259994251
>>94168
Два чая
220 259994271
>>88660 (OP)
Какой же ты тупой хуесос, у меня просто слов нет, пидор
221 259994365
>>94217
ты аутист?
sage 222 259994397
>>93906
Мы с тобой, анончик! Лови сердечко <3
223 259994468
>>88660 (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);
}
}

Рейт
223 259994468
>>88660 (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);
}
}

Рейт
224 259994504
>>92134
>>93945
>>94011

Вот этих обоссывает вот такая последовательность >>93088
sage 225 259994534
>>94167

>засада выполняет свою работу


Капитулировал с партизана
sage 226 259994569
>>94174

>не способность


а что тогда?
227 259994574
Вроде просто все, и правильное решение уже писали выше

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

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

мимо-вечный-джун без ума и талантов
228 259994642
>>94504
нет не обоссывает. хотя она сука самая коварная
229 259994676
>>94642
Да, согласен, протупил. Сковарностью согласен.
Кароч вот это решение самое правильное - >>94574
230 259994679
>>94217
Заорал
231 259994686
>>94468
((не(пра)(виль)но))
233 259994809
>>93659

>Ну так вот. Знать надо просто овердохуища, чтобы попасть на эту не самую оплачиваемую работу. В любую другую профессию вкат не требует такого адового задрачивания.



Ну дак вкатывайся в любую другую сферу, в чем смысл твоего нытья?
sage 234 259994828
>>94504
Обманщик.
235 259994836
>>94569
Слишком тонко подъебал технаря. Не поймет.
236 259994876
>>94828
Да, обоссывает только первого, где на js решение
237 259994926
>>93956
Приведи решение без использования стека
238 259994933
>>94217
Лол, а ты неплох.
239 259994940
>>94174
Хуя фантазии у дурачка. Ты бы хоть на собес хоть раз в жизни сходил, прежде че-то там фантазировать.
240 259994981
>>90301
>>90301
На стек с разными типами скобок.
242 259995035
>>94468
Просто посчитать, чтобы число открывающих и закрывающих скобок совпадало, недостаточно: >>93088
243 259995116
>>95005
())(()
Обтекай
244 259995119
>>95035
полноценные пары надо считать.
если что-то останется, то фалсе.
245 259995139
От пизды набросал за 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);
}
}
}
246 259995178
>>88660 (OP)
Ты довен? Через стэк за 5 минут пишеться решение. Всё открывающие суем в него, если закрывающая снимаем вершину. Если стек в конце больше 0 false
247 259995179
>>95119
Чё? Покажи код
248 259995181
немножко писал для себя всякие скриптики на питоне, но сейчас поймал себя на мысли, что не знаю что такое стек.

вот вы пишите - стек, стек. а что есть этот ваш стек?
sage 249 259995203
>>95178
А если меньше ноля стек?
250 259995210
>>95178
Пиздец, еще один даун со стеком.
image.png37 Кб, 724x867
251 259995223
>>95116
нет ты
sage 252 259995314
>>95181
я вот загуглил:
Стек — список элементов, организованных по принципу LIFO («последним пришёл — первым вышел»).
253 259995329
>>95139
Дауны с replace вы вообще понимаете насколько это неоптимально будет по сто раз пробегать строку? Да еще и выделять удалять память.
254 259995370
>>95203
То сегментеешн фоулт
255 259995374
>>92140
Значит последовательность неверена.
if(stack.len >0) stack.pop()
Else return false
256 259995389
>>95181
ну типа какой у тебя стек - какие языки знаешь, фреймворки, фронтэнд/бекенд, умеешь ли работать с базами данных. Вот это все. Кто все умеют, тех называют фуллстек.
sage 257 259995390
>>95116
Какой же ты дегенерат...
258 259995394
>>95181
Представь магазин для АК. Это и есть стек. Снаряжаешь патрон - делаешь push(). Вынимаешь или выстреливаешь патрон - делаешь pop(). Т.е. операции всегда только с верхним (последним) патроном.
sage 259 259995424
>>95370
Я не знаю узбекского, но миграционный центр воон там.
260 259995439

>>

261 259995441
>>91298
Предлагаю мой дебильный способ решения
В чём суть.
Создаем массив правильных скобок индуктивным способом, начиная от n=2 прибавляю к предыдущему скобку () по бокам или (+предыдущие скобки+), далее входящую скобку сравниваем со значениями массива правильных скобок, если значение не найдено то False, иначе True.
Плюс, выводит массив правильных скобок.
Знаю, способ не эффективный, долгий и требует использование памяти, но хотя бы более наглядный
262 259995480
>>88660 (OP)
ну так изи же
263 259995485
>>95329
оптимизация бывает в разную сторону
для одноразовой задачи оптимизировать время на написание - почему бы и нет?
264 259995487
>>95179
ну хер знает. к каждой откр скобке есть закр скобка
и так двигаться по строке +1 символ вперед.
сначала с первого символа потом со второго, с третьего.
разве так нельзя исключить все закрытые пары?
sage 265 259995491
>>95394
Зумеры не знают, как работает АК
266 259995492
>>93559
Два чаю, лучшее решение.
Мимо датасайнсер 300к/секунду
267 259995563
>>88660 (OP)

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

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

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

мимо днорабочий закончившийся колледж на погромиста
268 259995580
>>95329
Я ж написал, что накидал от пизды - это раз
Нахуя здесь оптимизировать? Я игру разрабатываю? - это два

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

Совсем ебанулся
269 259995598
>>95394
Ты либо очень хуевый пограммист, либо не знаешь, как работает автомат. Там очередь, даун
270 259995620
>>95441
ты наверно на копро и некро порно дрочишь? просто интересно
271 259995632
>>88660 (OP)
Задача первого курса вуза
Пошел нахуй я так и знал что тупые вкатуны даже не могут посмотреть как нужно учиться
272 259995701
>>95314
>>95389
>>95394

поэтому вас очкариков зазнавшихся никто и не любит, сидите в своих интернетах выёбываетесь своими специализированными знаниями, а при малейшем вопросе включаете тролля
273 259995703
>>95620
Не, только на милф
274 259995741
>>95563
Правильно не берут, кста
sage 275 259995746
>>95701
Харкнул тебе в ебало.
276 259995754
>>94271
Сука и ебаные нытики все такие
Посмотреть ебучий учебник? Попросить совета что нужно знать чтоб решить это говно?
Нахуй
НУЖНО НАНЫТЬ ПРОСТЫНЮ И ЗАПОСТИТЬ УЕБАНСКИХ ЛЯГУХ
277 259995763
(равное количество открывающих и закрывающих скобок, рандомно перемешанных)

Решение?
278 259995844
>>95598
ну вообще там стек, ты ж вставляешь в рожок патрон сверху и он двигает остальные вниз. самый просто пример стека ( что дословно переводится как сука СТОПКА) - это сложенные друг в друга тарелки. Кладешь наверх, берешь верхнюю всегда
sage 279 259995896
>>95491
>>95598
Сука, вы идиоты?
Я вставил первый патрон A. Он внизу.
Я вставил второй патрон B. Он вверху.

Какой патрон вылетит первым? Второй.
.png12 Кб, 306x306
280 259995926
>>88660 (OP)
А что в ней трудного?
У тебя счетчик открытых скобочек изначально равен нулю.
Идешь по строке. Встретил открывыющую скобку - увелчил счетчик на 1. Встретил закрывающую - уменьшил на 1. В случае если счетчик стал меньше 0 - прервал выполнение(т.к. сразу понятно, что получил невалидную строку). В конце - если счетчик не 0 - строка невалидна.
281 259995927
>>95563
если сначала будет закрывающая скобка, а потом открывающая строка будет неправильная, но твоё решение выдаст, что правильная
)(
inarticlecc6c1d1184.png1,2 Мб, 1200x950
282 259995956
Что-то судя по треду реально проще просто импортировать тенсорфлоу
Написать 2х слойную денс-сетку
показать ей 50 примеров и потом просто делать предикт тех что даны для проверки
дата-сатанист, не ебу как это решать классически
283 259995970
>>95563
Тут надо еще добавить
if left > right return false; в цикле
image.png194 Кб, 592x778
284 259995989
sage 285 259996000
>>95491
(Если твоё сообщение было не оскорблением того анона, мол зумер ты тупой, то извини меня, пожалуйста, я сглупил)
286 259996024
>>95926
у тебя багло, ищи
287 259996040
>>95926
Бля, я даун. Забыл увеличивать счетчик. Ну, в реальности я бы форичем просто воспользовался, т.к. к нему привык, ну да пох.
288 259996041
>>93345
Ты тупой? Сложность операции вставки и удаления из стека О(1). Проход по списку символов O(N).
Вся общая сложность будет О(N)
289 259996046
>>95926
Ставлю закрывающуюся скобку в самом начале строки
Что будет?
290 259996080
>>95896

> Я вставил первый патрон A. Он внизу.


В каком низу? Который сверху или который снизу? Это же вопрос относительности
sage 291 259996137
>>96080
В том низу, со стороны которого дно.
292 259996178
>>88660 (OP)
ЗАДАЧА РЕШАЕТСЯ РЕКУРСИВНО
МУДАКИ С СЧЕТЧИКАМИ ИДУТ НАХУЙ
293 259996184
>>95598
Я не понимаю, ты доебался потому, что в магазине патроны не друг над другом стоят, а с перекосом?
Ну тогда возьми обойму для ПМ.
294 259996227
>>96046
Всё, увидел твой третий иф
295 259996237
>>96046
Читать это неудобно будет, потому что в голове мало кто держит, в каком он сейчас блоке находится.
296 259996252
>>95701
Тебя никто, что характерно, не тралировал.
Первый анон вообще из википедии строчку кинул, а ты сразу огрызаешься. Нехорошо.
297 259996259
>>93735

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



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

> незнакомых слов


> грамматику составить


Клоун безграмотный, грамматику не "составляют", её описывают в какой-нибудь стандартной нотации, а дальше парсерами/лексерами/токенайзерами реализуют её обработку.
298 259996260
>>96046
сразу фалс наверно
299 259996267
>>88660 (OP)
хочешь смешной вариант решения этой задачи: делаешь замену скобок на фигурные и эвалуэйтишь это как dict.
300 259996307
>>94365
да.
123.png97 Кб, 1060x510
301 259996374
>>94217
Не помню как делать рекурсивные регэкспы или как там его...
302 259996375
>>96260
Да, там count-- если закрывающая скобка, а потом попадаем в третий иф
303 259996421
>>88660 (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 (ОДНА) дырка. Остальные пустоты, хотя из них и нельзя перейти из одной в другую,

не являются дырками, т.к. не замкнуты стенами лабиринта со всех сторон!
303 259996421
>>88660 (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 (ОДНА) дырка. Остальные пустоты, хотя из них и нельзя перейти из одной в другую,

не являются дырками, т.к. не замкнуты стенами лабиринта со всех сторон!
1640107240518.png856 Кб, 1280x534
304 259996422
Короче, надо следить за тем, чтобы количество открывающих и закрывающих скобок на каждом уровне было одинаковым.
Например, при каждой новой открывающей скобке повышаем уровень на 1 и в рамках этого уровня считаем скобки, их общий баланс должен быть равен нулю.
Если где-то в массиве получился не ноль, то скобки не равны
123.png97 Кб, 1060x510
305 259996498
306 259996503
>>91855
С квадратным - придется таки стек использовать. Встретили открывающую - положили на стек. Встретили закрывающую, достали из стека, если она не того же типа - сразу вышли. В конце проверяем, осталось ли что-то на стеке и прошли ли мы всю строку.
307 259996534
Вот еще задачка на знание механизма соединений в SQL хорошая.

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

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

Использовать можно только SQL.
308 259996554
>>96422
Вот тут >>96374 самый простой подход с точки зрения написания кода

Нахуй тут думать вообще?
Развели какую-то пиздёжь про стеки/очереди, какие-то циклы с ифами хуифами, свич-кейсы
Вы ебанулись?
sage 309 259996656
>>96534
Хуясе вы регистры храните!
310 259996670
>>96503
Просто сделай замену квадратных/фигурных на круглые
Получишь все круглые(т.е. приведёшь данные к одному виду) и сделаешь тоже самое, что и в ситуации, когда все скобки однотипные

Нахуя вы всё так усложняете
311 259996688
>>88660 (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;
}
sage 312 259996769
>>93317
и как бы ты решил тогда? тут в треде даже к ответу не пришли
313 259996776
>>96041
Ты тупой.

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

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

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

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

Распарсить польскую нотацию -- там да, там нужен стек, ибо тебе надо сначала установить последовательность операций (построить стек), а потом выполнить их (пройтись по содержимому стека).
314 259996787
>>96259
Это не натягивание совы, это просто класс задач, по грамматике лл1, составляешь грамматику в строчку и пишешь код по ней, все, есть чуть более сложные из той же оперы, что ты тогда делать будешь? Костыли свои дебильные городить? Ну раз тебе нравится решать задачу из этого класса как костыльному школьнику - решай, мне то что? Ну просто я бы сделал вывод о тебе что ты не понимаешь \ не знаешь какие то обычный вещи. Нахуя ты тут мне что-то доказываешь так упорно пытаясь хоть как-то сумничать - я в недоумении
315 259996827
>>96670
Ты таким макаром увеличиваешь время выполнения своей хуйни. В строке с 1_000_000 символов - ты сначала должен пройтись и все заменить, а потом уже выполнять алгоритм подсчета. Неэффективно это, короче. А тут четко за O(n).
sage 316 259996846
>>96534
Не проверял, но:

SELECT ТаблицаПродажТоваров.ТОВАР, ТаблицаЦен.ЦЕНА, ТаблицаПродажТоваров.ДАТА ПРОДАЖИ
FROM ТаблицаЦен, ТаблицаПродажТоваров
WHERE ТаблицаПродажТоваров.ТОВАР = ТаблицаЦен.ТОВАР
ORDER BY ТаблицаПродажТоваров.ТОВАР;
изображение.png44 Кб, 555x435
317 259996891
Учитесь, сынки.
318 259996892
>>96656
Чел, я сам 1Сник. Эта задачка для собесов учебная.
Ты такой же запрос будешь писать, если, например, нужно будет не цену продажи получить, а прибыль рассчитать, используя закупочную цену в качестве себбестоимости с детализацией до документа.
И часто срез последних нужно получить на каждый документ. Виртуальная таблица тебе тут не поможет. Руками будешь срез делать.
319 259996935
>>96827
Зачем здесь вообще говорить об эффективности?
Это задачка для школьников
sage 320 259996943
>>96846
А, я идиот
321 259997081
>>95424
Мы вам перезвоним
sage 322 259997127
>>97081
Я отключу телефон
323 259997146
>>96846
И зачем ты все цены вытащил ? Надо цену получить на дату продажи. В таблице цен на каждый товар может кучу цен быть.
Нужно узнать, какая была цена в момент продажи.

Да и даже тут можно было без декартова произведения обойтись, а соединение хотя бы элементарное сделать, но оно один хер не будет работать. Тут без джоинов никак не решить. Притом джоин нужно делать саму с собой по датам, используя > "больше".
324 259997195
>>96178
На вход подали миллион скобок.
Твоя рекурсия упала от переполнения
325 259997230
>>96534
select ТаблицаПродажТоваров.ТОВАР as t, ТаблицаПродажТоваров.ДАТА ПРОДАЖИ, (select ТаблицаЦен.ЦЕНА where ТаблицаЦен.ТОВАР = t) order by ТаблицаПродажТоваров.ДАТА ПРОДАЖИ desc;

(но я понимаю что в реальности за такое выебут)
326 259997295
>>96787

> Это не натягивание совы, это просто класс задач



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

А делаю я такой вывод, потому что, еслиб ты вообще понимал что это и какие задачи решает, ты бы использовал её по назначению и задачи придумывал бы соответствующие с соответствующими констрейнами. Но раз у тебя грамматика -- это для решения задачи балансировки скобок, значит ты банально не понимаешь проблем, которые такая абстракция решает.
327 259997320
>>97195
Haskell + Оптимизация хвостовой рекурсии.
Интерпретаторы функциональных языков переводят рекурсию в циклы, если используешь хвостовую рекурсию.
328 259997338
>>88660 (OP)
Хуйня, а не задача. Вот если бы ты попробовал поле для судоку заполнить, то тут бы охуел.
329 259997343
>>96787

> Нахуя ты тут мне что-то доказываешь так упорно пытаясь хоть как-то сумничать


> Грамматика для балансировки скобок


> упорно пытаясь хоть как-то сумничать



Ясно все с тобой, клоун.
330 259997435
>>96891
Хуйта какая-то. Я конечно понимаю что в условии обычно не сказано, что между скобками могут быть какие-то произвольные символы, но всё-таки.
331 259997464
>>96935
Зачем в задаче на спортивное программирование говорить об эффективности? Ну не знаю даже, а сам как думаешь?
изображение.png96 Кб, 1011x98
332 259997491
333 259997552
>>96178
>>97320
Не, ну если у тебя ФП -- то офк, даже нет смысла как-то по-другому делать.

Но в императивных языках каунтер офк, мало где вообще есть оптимизация хвостового вызова.
334 259997579
>>96769
Вообще-то пришли. Не пришли однако к согласию, но это /b, хули ты хотел?
Вот этот анон прав: >>94574
335 259997657
>>97491
Да я знаю, я просто к тому что это вообще-то очень стандартная проблема, которая предполагает именно наличия промежуточного говна между скобками.
336 259997744
>>97657
Регулярочкой вычищаешь и все, не вижу проблемы.
337 259997810
338 259997838
>>97464
Мы не ограничены временем выполнения программы
Вопрос всё ещё тот же
339 259997865
>>97295
Ахах "модную и крутую" на хабре - это как раз про твоё понимание что такое лл1 и какие задачи ею решаются. Дружище че ты так рвешься то? Решение что по школьному, что по нормальному как это делают люди - одинаковы просты, тут даже и совы то нет которую ты мне тут приплести пытаешься. Почему это тебя так злит?
340 259997910
>>95035
Этот код не только проверяет совпадение количеств, ты не вник

>>94686
По условию входная строка содержит только "(" или ")"
341 259997967
>>97744
Это только на малом объеме будет работать, и то слабоэффективно.

По факту задача балансировки скобок замечательно решается вообще на бесконечном потоке входных данных, главное чтобы счетчик скобок влез.
image.png31 Кб, 1256x411
342 259997987
>>97230
Ты не понял задачу скорее. Вот как должно быть примерно

Ты тоже не понял видимо
>>96846
343 259998050
>>97967
Нахуй ты какие-то дополнительные условия придумываешь? Ты ебанутый?
344 259998085
>>97838

> Мы не ограничены


А, ну раз вы не ограничены...

> Вопрос всё ещё тот же


Чтобы писать программы грамотно, а не как попало, работающие только в определенных абстрактных условиях в вакууме с большими ограничениями. Нет, для вкатывальшика наверно круто научиться решать задачи хоть как-то, но вкатывальщики на то и вкатывальщики, что поголовно хуесосы безграмотные.
345 259998112
>>88660 (OP)
Я тупой или для всего цикла нужно сделать проверку , если количество ( , равно количеству ) то True, если нет то false?
346 259998122
>>97987
Толсто
16398202339510.jpg59 Кб, 640x512
347 259998152
348 259998159
>>98085
Я понимаю, что это не бест практис и всё такое
Но просто нахуя конкретно здесь изобретать
ё
349 259998196
>>98112
Почти, но что будет в случае )( ?
350 259998228
>>98122
Где толсто ёпта ? Эту задачу я даю на собесах.
351 259998234
>>97987
А, теперь понял, но так это с датами ебаться надо, а в целом суть та же остается.
352 259998240
>>96935
Это должно быть на уровне подкорки.
353 259998271
>>98112
Не совсем. К примеру строка "))((" будет валидной согласно твоему критерию, но невалидной согласно условию задачи
354 259998286
Как заставить айтидебилов высираться на целый тред?
Дать им решать одну задачку. В процессе обсуждения они выгрызут друг другу глотки
あたご [変性ポジトロン丸].png718 Кб, 827x1169
355 259998333
>>94504
Во-первых, условие коряво сформулировано, если следовать ему буквально, то все решается простым перебором и сравнением количества.
Во-вторых, ничего сложного, если ты кодингом ни одну неделю занимаешься. И в плюсах ничего слоэного нет.
Если, как вы говорите последовательность ")(" хуевая, то в решении тоже ничего сложного.

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

Где я проебался?
356 259998336
>>98228
Толсто. Никто такую таблицу читать не будет, никакой менеджер
357 259998398
>>98286
Все просто. Куча долбачей пишут про счётчики и высирают говно.
Нормальные люди просто знают мету
358 259998416
>>98050
Так-то в жизни так и бывает - придумал решение, а оказывается туда миллионы данных пихают или еще что-то некорректное.
15192199766480.jpg110 Кб, 1252x1252
359 259998473
>>98286
Не пали контору
360 259998481
>>98050
А где ты в формулировке задачи увидел разрешение на допущение, что входных данных у тебя мало? Ты никогда таких задач не решал что ли? Тебе даются 1.5 простых примера, а потом автотест гоняет твою программу на ебейше огромных строках, чтобы увидеть что она отвалилась.

>>98159
Ну тут вопрос к составителю задачи, почему она получилось такой, что в итоге ничему тебя не учит.
361 259998492
>>98196
>>98271
А ну да, я просто условие задачи не читал, ну в таком случае идём по строке циклом, если отсчёт начинается с ) - false, если, количество ) превысило количество количество (, в следующей итерации , то же false, ну я бы так делал.
362 259998510
>>98416
Естественно я написал неоптимальный код, но он удовлетворяет условиям задачи и написан меньше чем за 5 минут.
image.png488 Кб, 716x990
363 259998549
>>94504
Попробовал на своём решении, всё норм
364 259998578
>>88660 (OP)
Дегенерат, хули там решать, ( скобка делаешь к счетчику +1, ) — делаешь –1
Если меньше нуля на каком-то этапе произошло, то неправильная, если к концу строки не 0 — тоже
365 259998661
>>98578
Ещё один блять
В твоём случае даже )( или ))(( будет правильной, но по решению нет
366 259998710
>>88660 (OP)
Самая первая мысль котоая пришла в голову, просто почтитать количество открвающих и закрывающих скороб и если оно не равно, значит нерпавильная стока. Это без всяких оптимизация, просто в лоб.
367 259998819
>>98710
а ты шутник)))))(((((
368 259998854
>>98661
будет правильно, если поставить условие, что первый симбвол не )
369 259998859
>>97865
"Модную и крутую" -- это про логику формошлёпа, которому модным и "интересным" реактом захотелось решать задачу вывода статического текста.

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

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

И это кстати LR-ом решать надо, а не LL-ом, даже тут ты обосрался.
370 259998873
>>98710
В хуеб
)(()))( и твоё решение сосет хуи
371 259998892
>>98854
символ
372 259998903
>>98854
))))(((((
Дальше что?
373 259998931
>>98549
Да, тут все ок, я не заметил последнее условие в цикле.
374 259998934
>>98854
Или ())(()
375 259998988
>>88660 (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;
}
376 259999003
>>98710
Почти так, считаешь кол-во открытых скобок и вычитаешь из него закрытые. На каждой итерации ещё нужно проверять, чтобы счетчик не стал меньше 0 (т.е. закрывающая скобка не появилась раньше открывающей) -- а то отвалится на примерах, которые тебе в соседних ответах накидали.
377 259999012
>>98661
Ты тупой?

>) — делаешь –1


>Если меньше нуля на каком-то этапе произошло, то неправильная


>)(


>)


>меньше нуля


>false


Ебало так что стянул, зелень ебаная
378 259999036
>>98988
Ебать двач охуевший, табуляцию явно проставляет
379 259999099
>>99012
Ну давай, реши это умник
)))))))(((((((
Или это
())(()
(()())()
16378392221702.jpg111 Кб, 519x640
380 259999109
>>98988
У тебя, наверное, айкью 140. Сверхразум какой-то.
381 259999123
>>98934
Да, ты прав
382 259999189
>>98988
Нет необходимости считать открытые и закрытые скобки отдельными счетчиками. Просто открытые добавляешь, а закрытые вычитаешь из общего счетчика. На каждой итерации считаешь, не ушел ли счетчик ниже 0.
383 259999225
>>98661
>>98903
Ну вообще он прав, т.к. у него есть условие

> Если меньше нуля на каком-то этапе произошло, то неправильная


На твоих примерах счётчик будет меньше нуля прям с первого символа и соот-но будет досрочный false

Так что не бомби, второкурсник, а учись адекватно общаться, даже если твой оппонент не прав хотя в данном случае неправ ТЫ, пригодится в жизни и на работе
384 259999283
>>99099

>)))))))(((((((


Сразу -1 -> false

>())(()


+1 -1 -1 -> false

>(()())()


Задание корректное, условие по алгоритму выполяется -> true
Вопросы?
385 259999292
>>99225

> пригодится в жизни и на работе



Он небось ещё думает что программирование -- это работа для НЕОБЩИТЕЛЬНЫХ
386 259999339
>>99099

> (()())()



А с этим что не так?
387 259999388
Усложню. Скобки могут быть разными ( { [ и кавычки < 《
388 259999395
>>88660 (OP)
Блять, мкропчелик, ты сортинг не осилил?
image.png20 Кб, 412x369
389 259999400
>>99003
ДА, я уже догадался.
390 259999512
>>99400
Не-не, тебе не нужно два счетчика. Просто в один добавляешь открытые и вычитаешь закрытые. В итоге он должен быть равен нулю и никогда не опускаться ниже 0 в процессе обхода строки.
# OP 391 259999563
>>99395
Это же курс, нужно решать имея те инструменты, что были даны в курсе, а сортировка идет после этой задачи.
392 259999572
>>98859
Ахах ладно... Хаброшкольный гуглокарась иди ты уже нахуй, мозги себе лром реши
393 259999616
>>88660 (OP)
Я б перебрал массив char, сравнивая каждый нулевой и чётный элемент с "(", а нечётный элемент с ")".
Тред утонул или удален.
Это копия, сохраненная 21 декабря 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /b/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски