Идеально для команд, где задача всегда четко определена. А если нет?Dweller wrote:Критерии простые - человек должен уметь кодить молча и быстро и без лишних вопросов
Если пытается себя продать и заливается словами и засыпает вопросами - в зад
Т.е. дал задачку на час на компе - сделано плюс, не сделано минус
Как найти золотник в куче Г...
-
- Уже с Приветом
- Posts: 8643
- Joined: 09 Feb 1999 10:01
Re: Как найти золотник в куче Г...
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: Как найти золотник в куче Г...
Фиксить команду а потом уже нанимать людейSK wrote:Идеально для команд, где задача всегда четко определена. А если нет?Dweller wrote:Критерии простые - человек должен уметь кодить молча и быстро и без лишних вопросов
Если пытается себя продать и заливается словами и засыпает вопросами - в зад
Т.е. дал задачку на час на компе - сделано плюс, не сделано минус
Или это специфика задач такая что нет четкого определения? Типа R&D?
-
- Уже с Приветом
- Posts: 4205
- Joined: 10 Jan 2004 01:22
- Location: n-sk -> MD -> VA
Re: Как найти золотник в куче Г...
все "определенные" задачи уже давно в индии. программистов для этого и садят за один стол чтобы они требования собирали и продукт клепали. аналисты, в общем смысле этого слова, отмирают как динозавры
-
- Уже с Приветом
- Posts: 10599
- Joined: 17 Jul 2003 22:11
Re: Как найти золотник в куче Г...
[quote="Uzito"]
Да вы маньяк какой то.
Code: Select all
У нас есть пациенты, которые ходят к врачу и им делают анализ глюкозы в крови. Есть следующие таблички - пациент, визиты, результаты измерений. Напишите запрос, который возвращает дату и результат последнего визита пациента, минимальное, максимальное и среднее значение измерений за все визиты, и результаты предыдущих трёх визитов. Все данные вывести на одной строке как
пациент, последний визит, результат, максимум, минимум, среднее, результат -1, результат -2, результат -3
Last edited by Easbayguy on 02 May 2016 19:33, edited 1 time in total.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 8230
- Joined: 06 Feb 2002 10:01
- Location: NJ, USA
Re: Как найти золотник в куче Г...
Структура табличек наважна, Вы могли нарисовать какие угодно. Код на троечку. В следующий раз используйте аналитику, она была даже в оракле 9, не говоря уж об 11 с пивотами.Easbayguy wrote:Где то так навскидку, может конечно primary key по другому, но смысл таков.
-
- Уже с Приветом
- Posts: 10599
- Joined: 17 Jul 2003 22:11
Re: Как найти золотник в куче Г...
Мне интервью не проходить, мне пофиг. Это только greasy bottom developers надо.Uzito wrote:Структура табличек наважна, Вы могли нарисовать какие угодно. Код на троечку. В следующий раз используйте аналитику, она была даже в оракле 9, не говоря уж об 11 с пивотами.Easbayguy wrote:Где то так навскидку, может конечно primary key по другому, но смысл таков.
У нас хватает любителей использовать оракловские аналитические функции и ставить базы раком.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 136
- Joined: 29 Jan 2014 01:10
Re: Как найти золотник в куче Г...
Задача, конечно, та еще, но зачем же вы потерли код... Было интересно узнать, что для Uzito есть "на троечку", ан нет, не успел. Можно мне его, код, в личку?Easbayguy wrote:Мне интервью не проходить, мне пофиг. Это только greasy bottom developers надо.Uzito wrote:Структура табличек наважна, Вы могли нарисовать какие угодно. Код на троечку. В следующий раз используйте аналитику, она была даже в оракле 9, не говоря уж об 11 с пивотами.Easbayguy wrote:Где то так навскидку, может конечно primary key по другому, но смысл таков.
У нас хватает любителей использовать оракловские аналитические функции и ставить базы раком.
-
- Уже с Приветом
- Posts: 10599
- Joined: 17 Jul 2003 22:11
Re: Как найти золотник в куче Г...
К сожалению, я его только в сообщении написал, преимущество было что без использования пивота, этот sql можно легко модифицировать на любой движок. Скажем заменить decode на IF и будет выполняться в mysql и так далее. То есть чисто ANSI sql.Crocus wrote:Задача, конечно, та еще, но зачем же вы потерли код... Было интересно узнать, что для Uzito есть "на троечку", ан нет, не успел. Можно мне его, код, в личку?Easbayguy wrote:Мне интервью не проходить, мне пофиг. Это только greasy bottom developers надо.Uzito wrote:Структура табличек наважна, Вы могли нарисовать какие угодно. Код на троечку. В следующий раз используйте аналитику, она была даже в оракле 9, не говоря уж об 11 с пивотами.Easbayguy wrote:Где то так навскидку, может конечно primary key по другому, но смысл таков.
У нас хватает любителей использовать оракловские аналитические функции и ставить базы раком.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 8230
- Joined: 06 Feb 2002 10:01
- Location: NJ, USA
Re: Как найти золотник в куче Г...
Да я и не прошу, собственно. Я просто привёл пример что хороший девелопер должен уметь делать без десяти проходов по таблицам. Пока еще не встречался со случаем постановки базы раком из-за использования аналитических фунцкий, а обратное вижу чуть ли не каждую неделю. Приходится засучивать рукава и переписывать код чтобы работал в 500 раз быстрее.Easbayguy wrote:Мне интервью не проходить, мне пофиг. Это только greasy bottom developers надо.
У нас хватает любителей использовать оракловские аналитические функции и ставить базы раком.
-
- Уже с Приветом
- Posts: 10599
- Joined: 17 Jul 2003 22:11
Re: Как найти золотник в куче Г...
Сначала вы сказали что у вас никто не может написать запрос, вам его написали за 5 минут по простенькому. В моем примерe читалась дважды только таблица пациентов, где вы там увидели 10 проходов по таблицам мне непонятно. Хотелось бы увидеть как вы его написали и мы тоже посмеемся. Извините, но переписывать код что бы он работал в 500 раз быстрее, это как то смешно. Может конечно вы недостающий индекс за переписывание кода называете или поменять в запросе порядок выполнения.Uzito wrote:Да я и не прошу, собственно. Я просто привёл пример что хороший девелопер должен уметь делать без десяти проходов по таблицам. Пока еще не встречался со случаем постановки базы раком из-за использования аналитических фунцкий, а обратное вижу чуть ли не каждую неделю. Приходится засучивать рукава и переписывать код чтобы работал в 500 раз быстрее.Easbayguy wrote:Мне интервью не проходить, мне пофиг. Это только greasy bottom developers надо.
У нас хватает любителей использовать оракловские аналитические функции и ставить базы раком.
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 8230
- Joined: 06 Feb 2002 10:01
- Location: NJ, USA
Re: Как найти золотник в куче Г...
Да пожалуйстаEasbayguy wrote:Хотелось бы увидеть как вы его написали и мы тоже посмеемся.
Code: Select all
SELECT pnt_id, a_vsi_date vsi_date, a_gl gl_0,
a_min_gl min_gl, a_max_gl max_gl, a_avg_gl avg_gl,
b_gl gl_1, c_gl gl_2, d_gl gl_3
FROM (SELECT p.pnt_id, v.vsi_date, gl,
MIN (m.gl) OVER (PARTITION BY p.pnt_id) min_gl,
MAX (m.gl) OVER (PARTITION BY p.pnt_id) max_gl,
AVG (m.gl) OVER (PARTITION BY p.pnt_id) avg_gl,
ROW_NUMBER () OVER (PARTITION BY v.pnt_id ORDER BY v.vsi_date DESC) rn
FROM patient p, visits v, measures m
WHERE p.pnt_id = v.pnt_id
AND v.pnt_id = m.pnt_id(+)
AND v.vsi_id = m.vsi_id(+)
) PIVOT (MAX (min_gl) min_gl,
MAX (max_gl) max_gl,
MAX (avg_gl) avg_gl,
MAX (vsi_date) vsi_date,
MAX (gl) gl
FOR rn IN (1 a, 2 b, 3 c, 4 d))
-
- Уже с Приветом
- Posts: 10599
- Joined: 17 Jul 2003 22:11
Re: Как найти золотник в куче Г...
Зря я свой код то удалил оказывается. Фу, аж с души отлегло!Uzito wrote:Да пожалуйстаEasbayguy wrote:Хотелось бы увидеть как вы его написали и мы тоже посмеемся.Для Oracle 10 пришлось бы страдать с max(decode(rn, 1, gl))Code: Select all
SELECT pnt_id, a_vsi_date vsi_date, a_gl gl_0, a_min_gl min_gl, a_max_gl max_gl, a_avg_gl avg_gl, b_gl gl_1, c_gl gl_2, d_gl gl_3 FROM (SELECT p.pnt_id, v.vsi_date, gl, MIN (m.gl) OVER (PARTITION BY p.pnt_id) min_gl, MAX (m.gl) OVER (PARTITION BY p.pnt_id) max_gl, AVG (m.gl) OVER (PARTITION BY p.pnt_id) avg_gl, ROW_NUMBER () OVER (PARTITION BY v.pnt_id ORDER BY v.vsi_date DESC) rn FROM patient p, visits v, measures m WHERE p.pnt_id = v.pnt_id AND v.pnt_id = m.pnt_id(+) AND v.vsi_id = m.vsi_id(+) ) PIVOT (MAX (min_gl) min_gl, MAX (max_gl) max_gl, MAX (avg_gl) avg_gl, MAX (vsi_date) vsi_date, MAX (gl) gl FOR rn IN (1 a, 2 b, 3 c, 4 d))
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 8230
- Joined: 06 Feb 2002 10:01
- Location: NJ, USA
Re: Как найти золотник в куче Г...
Ну покритикуйте уж, что стесняться-то? Тут все свои.Easbayguy wrote: Зря я свой код то удалил оказывается. Фу, аж с души отлегло!
-
- Уже с Приветом
- Posts: 752
- Joined: 09 Sep 2005 21:43
Re: Как найти золотник в куче Г...
Как вы думаете какой % соискателей (особенно толковых соискателей) согласися выполнять этот пусть даже оплачиваемый проэкт ?stenking wrote: а потом оплачиваемый боевой проект на несколько дней/неделю/две. Даже 10 неудач для поиска 1-го кандидата будет стоить меньше чем время всех эти интервьюверов/рекрутеров и несравнимо лучшим результатом.
И как вы планируете соискатель будет выполнять его дома удаленно ?(где тогда гарантия что его сделал он сам) или у вас в оффисе(он тогда должен брать отпуск на работе на несколько дней/неделю/две ?)
И что вы заплатите претенденту который сделал например 50/75/97 % вашего тестового задания ?
-
- Уже с Приветом
- Posts: 1319
- Joined: 10 Jan 2000 10:01
- Location: Хьюстон
Re: Как найти золотник в куче Г...
Привет из 80х, экономим на байтах. Я так тоже писал, будучи студентом.Uzito wrote: Ну покритикуйте уж, что стесняться-то? Тут все свои.
SELECT pnt_id, a_vsi_date vsi_date, a_gl gl_0, a_min_gl min_gl, a_max_gl max_gl, a_avg_gl avg_gl,
А надо считаю немного по другому.
SELECT PatientId, LastVisitDate, MinimumTestMeasurement, MaximumTestMeasurement...
-
- Уже с Приветом
- Posts: 10599
- Joined: 17 Jul 2003 22:11
Re: Как найти золотник в куче Г...
Это вы на интервью так замучаетесь писать.major Major Major Major wrote:Привет из 80х, экономим на байтах. Я так тоже писал, будучи студентом.Uzito wrote: Ну покритикуйте уж, что стесняться-то? Тут все свои.
SELECT pnt_id, a_vsi_date vsi_date, a_gl gl_0, a_min_gl min_gl, a_max_gl max_gl, a_avg_gl avg_gl,
А надо считаю немного по другому.
SELECT PatientId, LastVisitDate, MinimumTestMeasurement, MaximumTestMeasurement...
Как говорится: keep this shit away from my databases!
Bug 11655920 : WRONG RESULT WHEN SUBQUERY WITH PIVOT FUNCTION IS REFERENCED
Bug 18751855 ORA-600 [qcspCheckAggs.1] with PIVOT group by placement if fix for bug 18516620 is present
Bug 19822816 - High parse time for SQL with PIVOT and binda (can block LGWR on "library cache lock") (Doc ID 9822816. To BottomTo Bottom
Bug 18516620 - ORA-56904 / ORA-7445 from PIVOT query - superseded (Doc ID 18516620.
Bug 13639998 ORA-7445 [qksxaGetSingleAnnotation] / memory corruption using PIVOT with NVL
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 3481
- Joined: 02 Jan 2005 22:10
Re: Как найти золотник в куче Г...
Да до фига. Кандидат тоже хочет на кухню конторскую посмотреть, а то напоют в три уха а потом в быдлокод 4-ой степени говнистости мордой хрясь! При грамотной организации процесса разработки за две недели можно много чего сделать, а если сначала по корпоративной вике ползать месяц пытаясь запустить аппликуху на лаптопе, то нах нах такие работы.MCP wrote:Как вы думаете какой % соискателей (особенно толковых соискателей) согласися выполнять этот пусть даже оплачиваемый проэкт ?
-
- Уже с Приветом
- Posts: 10599
- Joined: 17 Jul 2003 22:11
Re: Как найти золотник в куче Г...
Вот поэтому вы и не подходите на лесопилку!Kolbasoff wrote:Да до фига. Кандидат тоже хочет на кухню конторскую посмотреть, а то напоют в три уха а потом в быдлокод 4-ой степени говнистости мордой хрясь! При грамотной организации процесса разработки за две недели можно много чего сделать, а если сначала по корпоративной вике ползать месяц пытаясь запустить аппликуху на лаптопе, то нах нах такие работы.MCP wrote:Как вы думаете какой % соискателей (особенно толковых соискателей) согласися выполнять этот пусть даже оплачиваемый проэкт ?
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
-
- Уже с Приветом
- Posts: 34816
- Joined: 20 Oct 2006 00:29
- Location: RUS->USA
Re: Как найти золотник в куче Г...
+1000adda_ wrote: Это давно уже известный факт. Решение принимается в первые несколько минут, дальше пытаются доказать себе что это решение правильное.
Насчет задачек. Я считаю что умение решать задачи у доски иррелевантно умению работника решать практические задачи. Т.е. корреляции нет, есть только совпадение.
Единственный надежный на 100% способ - мнение людей которые с человеком работали раньше и которым вы можете доверять.
Все остальное - лотерея.
Ибо самый умный решальщик задач может оказаться махровым лентяем или неуправляемым гением. И наоборот. Есть люди которые теряются на интервью но при этом будут прекрасно работать хоть индивидуально, хоть в команде. Все эти знания новых технологий и фрейворков а так же умных слов - ерунда. Во первых все это устаревает со страшной силой, во вторых все это выучивается за неделю на уровне нужном для писания кода.
.........................
Именно так и никак иначе...
Натаскивание на интервью и задачки вообще нечего не стоит, я бы наверно даже сказал стоит отрицательно...
Практически никогда те задачки негде и не применяются в той форме в которой спрашивают, а в реальной форме их и не спросить практически.
Да и большенство задачек спрашивают неправильно, слишком "много переменных остается", ответов может быть довольно мног смотря какие условия применения/"переменных".
Да и "правильные" ответы которые ждут на самом деле совсем не правильные в реальности(типа как поменять местами значения двух переменных без использования extra переменных, за тот правильный ответ который ждут, я бы просто увольнял без разговорв даже, а не то что на работу брал)...
-
- Уже с Приветом
- Posts: 189
- Joined: 13 Mar 2006 19:01
- Location: Earth -> Moon -> Mars
Re: Как найти золотник в куче Г...
ARARAT, ну вот смотрите. Приходите вы на интервью к Uzuto, а он вас и спрашиваетARARAT. wrote: +1000
Именно так и никак иначе...
Натаскивание на интервью и задачки вообще нечего не стоит, я бы наверно даже сказал стоит отрицательно...
Практически никогда те задачки негде и не применяются в той форме в которой спрашивают, а в реальной форме их и не спросить практически.
Да и большенство задачек спрашивают неправильно, слишком "много переменных остается", ответов может быть довольно мног смотря какие условия применения/"переменных".
Что вы будете делать? Без попытки подлюбить спрашиваю.Uzito wrote:Писать можно используя функциональность Оракл 10/11/12 или MS-SQL.Code: Select all
У нас есть пациенты, которые ходят к врачу и им делают анализ глюкозы в крови. Есть следующие таблички - пациент, визиты, результаты измерений. Напишите запрос, который возвращает дату и результат последнего визита пациента, минимальное, максимальное и среднее значение измерений за все визиты, и результаты предыдущих трёх визитов. Все данные вывести на одной строке как пациент, последний визит, результат, максимум, минимум, среднее, результат -1, результат -2, результат -3
Это используя XOR, что ли?ARARAT. wrote: Да и "правильные" ответы которые ждут на самом деле совсем не правильные в реальности(типа как поменять местами значения двух переменных без использования extra переменных, за тот правильный ответ который ждут, я бы просто увольнял без разговорв даже, а не то что на работу брал)...
Bugfixing по фотографии. Дорого.
-
- Уже с Приветом
- Posts: 34816
- Joined: 20 Oct 2006 00:29
- Location: RUS->USA
Re: Как найти золотник в куче Г...
1. BD не моя стихия совсем... Дело не в етом совсем, ето все дело 10 минут когда надо применить. А самое главное именно ета задача в етой форме почти гарантированно никогда не будет. И еще одно, даже если человек задачку решил ето далеко не значит, что он будет способен писать что-нибудь еще, кроме заученной задачки. Проверять надо не решения задачек,а подходы к программированию(а их за 15 минут никак не просечь)...x.angie wrote:ARARAT, ну вот смотрите. Приходите вы на интервью к Uzuto, а он вас и спрашиваетARARAT. wrote: +1000
Именно так и никак иначе...
Натаскивание на интервью и задачки вообще нечего не стоит, я бы наверно даже сказал стоит отрицательно...
Практически никогда те задачки негде и не применяются в той форме в которой спрашивают, а в реальной форме их и не спросить практически.
Да и большенство задачек спрашивают неправильно, слишком "много переменных остается", ответов может быть довольно мног смотря какие условия применения/"переменных".1. Что вы будете делать? Без попытки подлюбить спрашиваю.Uzito wrote:Писать можно используя функциональность Оракл 10/11/12 или MS-SQL.Code: Select all
У нас есть пациенты, которые ходят к врачу и им делают анализ глюкозы в крови. Есть следующие таблички - пациент, визиты, результаты измерений. Напишите запрос, который возвращает дату и результат последнего визита пациента, минимальное, максимальное и среднее значение измерений за все визиты, и результаты предыдущих трёх визитов. Все данные вывести на одной строке как пациент, последний визит, результат, максимум, минимум, среднее, результат -1, результат -2, результат -3
Это используя XOR, что ли?ARARAT. wrote: Да и "правильные" ответы которые ждут на самом деле совсем не правильные в реальности(типа как поменять местами значения двух переменных без использования extra переменных, за тот правильный ответ который ждут, я бы просто увольнял без разговорв даже, а не то что на работу брал)...
2. b=b+a, a=b-a, b=b-a. Ету задачу(при условии равной разрядности етих двух переменных) правильно без применения третьей переменной не решить или надо ставить проверки значений(т.е. код будет работать лишь при части возможных значений, т.е. "недоделанный" код) или будут возможные run-time erros при перегрузке переменной(b в данном случае), т.е. код будет дерьмо...
Last edited by ARARAT. on 03 May 2016 02:52, edited 1 time in total.
-
- Ник закрыт за хамство.
- Posts: 357
- Joined: 16 Feb 2014 18:34
Как найти золотник в куче Г...
http://www.programmerinterview.com/inde ... tabase-sql" onclick="window.open(this.href);return false;Krys-Krys wrote:Google -> Interview advanced SQL questions and answers._Lenchik wrote:А где бы научится SQL на уровне выше среднего? Знать всякие мелочи для оптимизации, типа - "пользовательская функция вызывается для каждой строки запроса"Uzito wrote:
Да, чтобы лабать примитивный сиквель и недели много. Но для того, чтобы писать код, который не будет занимать десять страниц печатного текста, нужно знать предметную область, как то аналитические фунции, генераторы и т.д. (или хотя бы быть к курсе их существования).
Если читать огромное колическво книжек, то это явно больше недели потребуется.
Да, неплохо, но конечно не исчерпывающе.
Чтобы научиться выше среднего нужно попадать в ситуации, где справедливы две максимы массовой обработки данных:
1. Все, что можно сделать в SQL, нужно делать в SQL.
2. Процессоры базы при выполнении запроса должны быть загружены на полную, но чем короче, тем лучше.
Тогда становятся понятными многие странности и угловатости SQL и развивается интуиция.
-
- Уже с Приветом
- Posts: 14407
- Joined: 26 May 2006 02:39
Re: Как найти золотник в куче Г...
Зависит от позиции. Например для ДБ админа это очень простой вопрос. Практически 2+2.x.angie wrote: Что вы будете делать? Без попытки подлюбить спрашиваю.
А для девелопмент позиции писать такую сложную квири это скорее минус. Правильным решением это разбить данную задачу на 3 небольшие подзадачи с простым синтаксисом
1. вывести дату и результат последнего визита пациента,
2. вывести минимальное, максимальное и среднее значение измерений за все визиты
3. вывести результаты предыдущих трёх визитов
И показать как их запустить асинхронно и как красиво показать на клиенте !
Бога нет.
-
- Уже с Приветом
- Posts: 14407
- Joined: 26 May 2006 02:39
Re: Как найти золотник в куче Г...
А почему бы и нет? Во первых деньги ( независимо от результата ) , во вторых это шанс и себя показать и компанию изнутри посмотреть. А как - можно удалённо, можно вечерами а обычно я прошу взять отпуск на неделю. Тут же не результат важен а именно что показать код, скорость работы и общую адекватность.MCP wrote:Как вы думаете какой % соискателей (особенно толковых соискателей) согласися выполнять этот пусть даже оплачиваемый проэкт ?stenking wrote: а потом оплачиваемый боевой проект на несколько дней/неделю/две. Даже 10 неудач для поиска 1-го кандидата будет стоить меньше чем время всех эти интервьюверов/рекрутеров и несравнимо лучшим результатом.
И как вы планируете соискатель будет выполнять его дома удаленно ?(где тогда гарантия что его сделал он сам) или у вас в оффисе(он тогда должен брать отпуск на работе на несколько дней/неделю/две ?)
И что вы заплатите претенденту который сделал например 50/75/97 % вашего тестового задания ?
Бога нет.
-
- Уже с Приветом
- Posts: 189
- Joined: 13 Mar 2006 19:01
- Location: Earth -> Moon -> Mars
Re: Как найти золотник в куче Г...
Да нет, не BD это не похоже, скорее обычный, мать его так, ОперДень, судя по описанию и структуре табличек. Типичнейшая задачка для RDBMS, такая базёнка для BD скорее вредная чем полезная (индексы, constraints, foreign keys, etc.)ARARAT. wrote: 1. BD не моя стихия совсем... Дело не в етом совсем, ето все дело 10 минут когда надо применить. А самое главное именно ета задача в етой форме почти гарантированно никогда не будет. И еще одно, даже если человек задачку решил ето далеко не значит, что он будет способен писать что-нибудь еще, кроме заученной задачки. Проверять надо не решения задачек,а подходы к программированию(а их за 15 минут никак не просечь)...
Ну, в принципе, направление мысли про недостатки кода верное. Я знаю один канонический способ как правильно решать эту задачку - через XOR операцию или https://en.wikipedia.org/wiki/XOR_swap_algorithm:ARARAT. wrote:2. b=b+a, a=b-a, b=b-a. Ету задачу(при условии равной разрядности етих двух переменных) правильно без применения третьей переменной не решить или надо ставить проверки значений(т.е. код будет работать лишь при части возможных значений, т.е. "недоделанный" код) или будут возможные run-time erros при перегрузке переменной(b в данном случае), т.е. код будет дерьмо...
Code: Select all
b = b XOR a
a = b XOR a
b = b XOR a
P.S. Я вот тренеруюсь на Codility частенько, и там мне тоже попалась задачака на манипулирование битами -> https://codility.com/programmers/task/o ... _in_array/" onclick="window.open(this.href);return false;
После минут пяти размышлений я пришел к выводу, что нужно использовать битовую представление (или что-то битовое) для хранения промежуточных результатов. Но потом я часа на полтора или два завис и не знал как продвинуться дальше. Перепробовал всё что знал про биты, битовые маски, битовые операции и так далее. В результате, сдался и нагуглил разяснение решения. По нему уже сам написал код, который очень прост:
Code: Select all
def solution(A: Array[Int]): Int = {
var result = 0
if (A != null)
A.foreach(number => result = result ^ number)
result
}
Bugfixing по фотографии. Дорого.