Вот есть задача https://leetcode.com/problems/valid-palindrome/
Я понимаю, что строку нужно сначала рассплитить, избавиться от всевозможных знаков, склеить в одну строку и эту строку сравнить со своим перевертышем.
Я понимаю, что вот так:
string s = "A man, a plan, a canal: Panama";
string[] array = s.Split(new char[] {' ', ':', ','});
foreach(var ch in array)
Console.WriteLine(ch);
это неправильно, потому что я фактически захардкодил двоеточие, пробел и запятую. если мы введем любую другую строку с другими знаками - работать корректно не будет.
Предложите, пожалуйста, варианты решения.
Вариант без Linq и без лишних выделений памяти.
public bool IsPalindrome(string s)
{
for (int i = 0, j = s.Length - 1; i < j;)
{
var ci = s[i];
var cj = s[j];
if (char.IsLetterOrDigit(ci) && char.IsLetterOrDigit(cj))
{
var loweri = char.ToLower(ci);
var lowerj = char.ToLower(cj);
if (loweri!=lowerj) return false;
i++;
j--;
continue;
}
if (!char.IsLetterOrDigit(ci)) i++;
if (!char.IsLetterOrDigit(cj)) j--;
}
return true;
}
LINQ вариант:
public bool IsPalindrome(string s)
{
var resStr = s.Where(Char.IsLetterOrDigit).Select(Char.ToLower);
return resStr.SequenceEqual(resStr.Reverse());
}
Нужно идти от обратного
В памяти, буквы английского алфавита расположены по порядку друг за другом (большие и маленькие отдельно), поэтому если наш символ подходит под описание буквы, то мы его выводим
class Program
{
static void Main(string[] args)
{
string s = "A man, a plan, a canal: Panama";
foreach (var ch in s)
{
if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
Console.WriteLine(ch);
}
Console.ReadKey();
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В общем, сама идея в чем- для практики хочу сделать игру 15(пятнашки) на с#На видео(Youtube) игра пишется под Windows Forms, но я ее потихоньку адаптирую...
Есть необходимость динамически генерировать текст на фото, фото может быть любого размера, текст при этом, должен быть в верхнем правом углуТекущий...
Переносила приложение на новый сервер и заметила такую штуку: при использовании конструкции такого вида