Igor
а то что у тебя работает то это потому что локально ты можешь ходить в рамках страницы памяти без проблем
Igor
у тебя grid[i].size()) нужно grid[0].size())
Igor
размер грида определять по первой строчке ;) а не по номеру хода ;)
Виталик Голоенко
бля неловко вышло
Igor
Оно прогоняет на линухе)... Санитайзер работы с памятью стреляет, куда то ты не туда ходишь или много выделяешь
я тебе об этом сказал еще в самом начале ... но проще же обвинить остальных ... у тебя то все работает ;)
Igor
где вы мне это сказали
там выше ссылка ... в сообщении
Igor
Сказал сразу после ошибки санитайзера
Михаил
Igor
а вдруг ащипка и длины строчек отличаются
в задаче прямоугольный грид ... это из условия
Михаил
в задаче прямоугольный грид ... это из условия
но может же памяти под какой то вектор не хватить?
Igor
Ушел в барбершом ... у меня переполнение глупыми вопросами ;)
Виталик Голоенко
ну ладно зато я решил😎
Igor
ну ладно зато я решил😎
решил я ;) ты не смог ;)
Виталик Голоенко
решил я ;) ты не смог ;)
нет вы поменяли один символ
Виталик Голоенко
остальные сотни символов мои
Igor
нет вы поменяли один символ
без этого символа программа была не рабочая .. от слова вообще
Igor
нет вы поменяли один символ
эти сотни символов были бесполезны ;) потому что лиит код говно ;) а Виталик молодец! ;)
Виталик Голоенко
ой все
Vyacheslav
ну ладно зато я решил😎
Ты решил что литкод - говно )
Виталик Голоенко
та все я понял что обосрался
Виталик Голоенко
ацтань
Igor
ой все
а вот так можно было не трахать себе мозг с доп массивом class Solution { public: int moves[4][2] = {{1,0},{-1,0},{0,1},{0,-1}}; void dfs(vector<vector<char>>& grid, int x, int y){ for(int i = 0; i < 4;i++){ int nx = x + moves[i][0]; int ny = y + moves[i][1]; if(nx < 0 || nx >= grid.size() || ny < 0 || ny >= grid[0].size()){ continue; } if(grid[nx][ny] == '1'){ grid[nx][ny] = '0'; dfs(grid, nx, ny); } } } int numIslands(vector<vector<char>>& grid) { int counter = 0; for(int i = 0; i < grid.size();i++) { for(int j = 0; j < grid[i].size();j++){ if(grid[i][j] == '1'){ counter++; grid[i][j] = '0'; dfs(grid,i,j); } } } return counter; } };
Igor
Блин страдают тут херней в чатике ;(
Виталик Голоенко
а для чего это?
там чел говорил что дело в отсутствие конструктора
🪪
пон
Vyacheslav
там чел говорил что дело в отсутствие конструктора
Чел говорил что отлаживать нужно тот же самый код, который на сайт вставляешь
Vyacheslav
там чел говорил что дело в отсутствие конструктора
#include <iostream> #include <vector> using namespace std; class Solution { public: int moves[4][2] = {{1,0},{-1,0},{0,1},{0,-1}}; vector<vector<int>> wasThere; Solution() : wasThere(301, {301}){}; //int wasThere[301][301]; void dfs(vector<vector<char>>& grid, int x, int y){ for(int i = 0; i < 4;i++){ int nx = x + moves[i][0]; int ny = y + moves[i][1]; if(nx < 0 nx >= grid.size() ny < 0 || ny >= grid[i].size()){ continue; } if(grid[nx][ny] == '1' && wasThere[nx][ny] != 1){ wasThere[nx][ny] = 1; dfs(grid, nx, ny); } } } int numIslands(vector<vector<char>>& grid) { int counter = 0; for(int i = 0; i < grid.size();i++) { for(int j = 0; j < grid[i].size();j++){ if(grid[i][j] == '1' && wasThere[i][j] != 1){ counter++; wasThere[i][j] = 1; dfs(grid,i,j); } } } return counter; } }; int main() { vector<vector<char>> a = { {'1','1','0','0','0'}, {'1','1','0','0','0'}, {'0','0','1','0','0'}, {'0','0','0','1','1'} }; Solution b; cout << b.numIslands(a); }
Виталик Голоенко
Vladislav
красиво же)
Возможно
Dima
Ребят подскажите пожалуйста по JS. Есть функция, внутри функции объект с параметрами. Как в другой функции обратиться к ключу объекта первой функции?
ioannes
Код покеж
ioannes
Ну звучит странно немного
ioannes
Можно замыкание сделать там будет доступ
Dima
Код покеж
enableValidation ({ formSel: '.form', inputSelector: '.popup__input', submitButtonSelector: '.popup__save', inactiveButtonClass: 'popup__save-disable', inputErrorClass: 'popup__input_error', errorClass: 'form__input-error' } ); эта функция И например передать параметры сюда const toggleButtonState = (inputList, buttonElement) =>{ if (hasInvalidInput(inputList)){ buttonElement.classList.add('popup__save-disable'); }else{ buttonElement.classList.remove('popup__save-disable'); } }
Dima
Спасибо ребят
Борисов
Илья
Val
Всем привет! У меня вопрос по питону. Подскажите пожалуйста: 1) Есть цикл который что-то там делает. Но его прерывают в случайном месте. 2) происходит внешнее кратковременное событие, например быстро клацнули клавишу N (поидее нужно нужна функция для выставить флаг события в какой-то глобальной переменной, flg= N) ....я не знаю как это называется на питоне(подскажите пжлста), но мне нужна функция обработчик внешних прерываний 3) после выполнения функции обработки внешнего прерывания - цикл продолжается с прерванного места. 4) в конце цикла происходит проверка - а какое там значение в переменной флага flg
Val
👆Как это делается на питоне?
Михаил
👆Как это делается на питоне?
попробуй pip install keyboard, вроде как то можно
Val
попробуй pip install keyboard, вроде как то можно
Я пробую сейчас. Но там не то.(или не очень разобрался) - там просто механизмы для работы с клавишами. Вопрос несколько глобальнее: есть-ли в питоне возможность обрабатывать внешние прерывания? Прерывания может прийти от любого датчика, например от клавиши
Михаил
хз может как то можно сделать что то подобное
.
за прерываниями я бы пошел в другой язык. python однопоточный
а как дже работает асинхронка и причем тут многопоточность?
Михаил
а как дже работает асинхронка и причем тут многопоточность?
ну по асинхронке в Си вот статья https://stackoverflow.com/questions/17766550/ctrl-c-interrupt-event-handling-in-linux
.
Я пробую сейчас. Но там не то.(или не очень разобрался) - там просто механизмы для работы с клавишами. Вопрос несколько глобальнее: есть-ли в питоне возможность обрабатывать внешние прерывания? Прерывания может прийти от любого датчика, например от клавиши
Тут вопрос что за датчики: питон изначально не предназначен непосредственно для работы с портами, прерываниями, датчиками и т.п. Любая ОС имеет в своей части драйвера, которые предоставляют интерфейс для работы с любыми железками. Если для конкретной железки есть интерфейс, тогда питону доступны данные с этого интерфейса
.
ну по асинхронке в Си вот статья https://stackoverflow.com/questions/17766550/ctrl-c-interrupt-event-handling-in-linux
Тут статья не по асинхронке, а том что система операционная (в частности Linux) может отправлять прецессам всякие сигналы, которых они (процессы) должны слушаться. При чем тут считывание с клавиатуры или с других устройств?
.
Нужно просто понимать, что питон работает только с тем что даёт ему ОС
Михаил
так это понятно
Val
Я после С пытаюсь понять питон
Val
Вопрос: то что я спросил называется "асинхронно"
Val
Или как гуглить?
Михаил
В конце концов можно написать модуль на Си, который будет ловить прерывания
Val
В конце концов можно написать модуль на Си, который будет ловить прерывания
🙅нет. Основная задача стоит в изучении питона и с# Правильно ли я понял? : нужно гуглить про асинхрон?
Михаил
ну гугли. Я питон не сильно учил, мб я не прав
Arutemu
сложный процесс.
Обычно наоборот
.
🙅нет. Основная задача стоит в изучении питона и с# Правильно ли я понял? : нужно гуглить про асинхрон?
вопрос не корректный: задача не до конца ясна. к примеру, можно просто из цикла нюхать какие-то флаги если нужно чтобы в цикл снаружи прилетало что-то, то нужно дать возможность этому что-то прилетать - тогда асинхронные функции в помощь
.
в питоне всё просто - то что тебе нужно, уже кто-то когда-то делал и можно посмотреть реализацию и закатать под себя
Onigiri
Обычно наоборот
Не знаю, но для тоже тяжело! Со строго, перейти на python
Val
Спс. Попробую сам себе сформулировать правильный вопрос - думаю отпадет 90℅ непоняток. Так-то питон приятный и вроде несложный
Anonymous
Всем привет
Anonymous
я совсем недавно начал изучать программирование. пару дней если быть точным и мне вот интересно спросить у вас, у людей которые больше меня разбираются
Anonymous
какие лучше всего брать платные русские курсы вот да
Виталик Голоенко
Бесплатных полно
давай пару партий?
Anonymous
Бесплатных полно
ну если бесплатные то какие? не хотелось бы много времени тратить на курсы которые ничего не дадут
Anonymous
Язык?
пайтон
Erik
Поколение пайтон на степике
Anonymous
понял а что насчет itprogger? вот сейчас как некую базу начал смотреть все понятно и хорошо
Erik
Не сталкивался
Anonymous
понятно, спасибо вам большое за ответ!! невероятно благодарен