Здравствуйте, antonio_banderas, Вы писали: _>Почему?
один тест тестирует одну вещь. а тут вычисление сразу ряда происходит.
если сказать "а ну и фиг с ним" и продолжить писать тесты в таком стиле, то это сделает тесты огромными и невменяемыми (парсинг аутпута — ну что может быть лучше? ). и вылазаит та проблема, на которую так любят жаловаться люди которые тысте не пишут — что писать их прихолится даже больше, чем кода
Re[15]: Типовые задачи на собеседованиях по программированию
Здравствуйте, __kot2, Вы писали:
_>>Почему? __>один тест тестирует одну вещь. а тут вычисление сразу ряда происходит.
__>если сказать "а ну и фиг с ним" и продолжить писать тесты в таком стиле, то это сделает тесты огромными и невменяемыми (парсинг аутпута — ну что может быть лучше? ). и вылазаит та проблема, на которую так любят жаловаться люди которые тысте не пишут — что писать их прихолится даже больше, чем кода
Ок, парсинг аутпута это плохо.
А так, интуитивно — тестировать надо минимальную логическую единицу (функцию, блок, модуль) — цельную. Для тестов код — это черный ящик, они не должны знать, как он устроен внутри, и тем более полагаться на это.
С исходным примером это как посчитать — может минимальной логической единицей быть как решение задачи целиком, так и построчно (каждая строка не зависит от остальных).
Мне больше нравится решение целиком, типа, здесь строки независимы, а где-то могут быть и зависимы. Возможно, дело вкуса.
Да и в чем проблема финальную строку разбить в тестах на массив строк.
Re: Типовые задачи на собеседованиях по программированию с решениями
Развернуть на месте UTF8–строку, с варьируемой байтовой шириной символов. Запрещены промежуточные преобразования, сторонние библиотеки, аллокации памяти.
Re[2]: Типовые задачи на собеседованиях по программированию с решениями
Здравствуйте, nekocoder, Вы писали:
N>Здравствуйте, RussianFellow, Вы писали:
RF>>Коллеги, не могли бы вы подсказать, какие бывают типовые задачи на собеседованиях по программированию?
N>Есть посвященная как раз этому книга Cracking the Coding Interview.
Я бы сказал что это первый шаг, т.к. набить руку можно только пытаясь решить эти задачи. Для практики есть всякие leetcode и interviewbit
Re[2]: Типовые задачи на собеседованиях по программированию с решениями
Здравствуйте, serj.e, Вы писали:
SE>Развернуть на месте UTF8–строку, с варьируемой байтовой шириной символов. Запрещены промежуточные преобразования, сторонние библиотеки, аллокации памяти.
wchar *s; // эта строкаwchar c1, c2;
int n;
n = wstrlen(s);
for (i=0; i<n/2; i++)
{
c1 = s[i];
c2 = s[n-i-1];
s[i] = c2;
s[n-i-1] = c1;
}
Так что-ли?
1613 г. = 2024 г.
Re[3]: Типовые задачи на собеседованиях по программированию с решениями
Здравствуйте, RussianFellow, Вы писали:
RF>Здравствуйте, serj.e, Вы писали:
SE>>Развернуть на месте UTF8–строку, с варьируемой байтовой шириной символов. Запрещены промежуточные преобразования, сторонние библиотеки, аллокации памяти.
RF>
Здравствуйте, RussianFellow, Вы писали:
RF>Здравствуйте, AleksandrN, Вы писали:
AN>>А с чего ты взял, что это код для переворота UTF-8?
RF>Ну так для UTF-8 используется тип wchar, не так ли?
Для utf-8 — char. Но для кодировки каждого байта используется от 1 до 6 байт. В этом и сложность переворота такой строки.
Здравствуйте, AleksandrN, Вы писали:
RF>>Ну так для UTF-8 используется тип wchar, не так ли?
AN>Для utf-8 — char. Но для кодировки каждого байта используется от 1 до 6 байт. В этом и сложность переворота такой строки.
Ну и как такая строка переворачивается?
1613 г. = 2024 г.
Re[7]: Типовые задачи на собеседованиях по программированию с решениями
Здравствуйте, RussianFellow, Вы писали:
RF>Здравствуйте, AleksandrN, Вы писали:
RF>>>Ну так для UTF-8 используется тип wchar, не так ли?
AN>>Для utf-8 — char. Но для кодировки каждого байта используется от 1 до 6 байт. В этом и сложность переворота такой строки.
RF>Ну и как такая строка переворачивается?
Вариант 1:
Конвертировать в UTF-16, перевернуть, конвертировать обратно.
Вариант 2:
Без конвертации в кодировку с фиксированной шириной символа. Это тебе домашнее задание. Когда сделаешь — выложи код.
Проверь свою функцию на строке:
Как успехи? おそらく、それはあなたのために難しいことではありませんでしたか?
Re[8]: Типовые задачи на собеседованиях по программированию с решениями