Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 06.06.2022
Сообщений: 5

Валидация пароля

06.06.2022, 23:09. Показов 859. Ответов 13

Студворк — интернет-сервис помощи студентам
You would like to set a password for an email account. However, there are two restrictions on the format of the password. It has to contain at least one uppercase character and it cannot contain any digits. You are given a string S consisting of N alphanumerical characters. You would like to find the longest substring of S that is a valid password. A substring is defined as a contiguous segment of a string.

For example, given "a0Ba", the substrings that are valid passwords are "B" and "Ba". Note that "aBa" is not a substring and "a0b" is not a valid password.

Write a function:

class Solution { public int solution(String S); }

that, given a non-empty string S consisting of N characters, returns the length of its longest substring that is a valid password. If there is no such substring, your function should return -1.

For example, given "a0Ba", your function should return 2, as explained above. Given "a0bb", your function should return -1, since there is no substring that satisfies the restrictions on the format of a valid password.

Assume that: • N is an integer within the range [1…200]; • string S consists only of alphanumerical characters (a-z and/or A-z and/or 0-9).

In your solution, focus on correctness. The performance of your solution will not be the focus of the assessment.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.06.2022, 23:09
Ответы с готовыми решениями:

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

Валидация формы
Здравствуйте.Я создал форму,проверка котороый должна осуществляться на javascript при нажатии на "отправить".Вот мой код: ...

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

13
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
06.06.2022, 23:16
Точно на JavaScript? Просто
Code
1
class Solution { public int solution(String S); }
это не JS.
0
0 / 0 / 0
Регистрация: 06.06.2022
Сообщений: 5
06.06.2022, 23:17  [ТС]
Знаю что джава
Точно в JS
0
Философ-разговорник
 Аватар для Padonak
1066 / 391 / 120
Регистрация: 20.02.2016
Сообщений: 884
Записей в блоге: 1
06.06.2022, 23:17
nastya200004, we use to speak russian here... just if you haven't noticed it yet
0
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
06.06.2022, 23:20
На английском не запрещено писать, так или иначе.
Хорошо, значит решения будут предлагаться на JavaScript, а не на Java.
0
0 / 0 / 0
Регистрация: 06.06.2022
Сообщений: 5
06.06.2022, 23:22  [ТС]
Есть два ограничения на формат пароля. Он должен содержать хотя бы один символ верхнего регистра и не может содержать цифр. Вам задана строка S, состоящая из N буквенно-цифровых символов. Вы хотите найти самую длинную подстроку S, которая является допустимым паролем. Подстрока определяется как непрерывный сегмент строки.

Например, для заданного «a0Ba» допустимыми паролями являются подстроки «B» и «Ba». Обратите внимание, что «aBa» не является подстрокой, а «a0b» не является допустимым паролем.

Напишите функцию:
function solution(S) {

}
что для заданной непустой строки S, состоящей из N символов, возвращается длина ее самой длинной подстроки, которая является допустимым паролем. Если такой подстроки нет, ваша функция должна вернуть -1.

Например, учитывая «a0Ba», ваша функция должна вернуть 2, как описано выше. Учитывая "a0bb", ваша функция должна вернуть -1, так как нет подстроки, удовлетворяющей ограничениям на формат действительного пароля.

Предположим, что: • N — целое число в диапазоне [1…200]; • строка S состоит только из буквенно-цифровых символов (a-z и/или A-z и/или 0-9).
0
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
07.06.2022, 00:15
У меня получилось так
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function solution(s) {
  const validate = (str) => !/\d/.test(str) && str != str.toLowerCase();
  if (s == s.toLowerCase()) {
    return -1;
  }
  let max = 0;
  l1: for (let i = 0; i < s.length; i++) {
    l2: for (let j = i + 1; j <= s.length; j++) {
      const substr = s.slice(i, j);
      if (/\d/.test(s[j - 1])) {
        i = j - 1;
        break;
      }
      if (validate(substr)) {
        max = Math.max(max, substr.length);
      }
      if (j == s.length) {
        break l1;
      }
    }
  }
  return max || -1;
}
Добавлено через 24 минуты
Но на самом деле
JavaScript
1
2
3
4
function solution(s) {
  const substrs = s.match(/\D*[A-Z]\D*/g);
  return substrs ? Math.max(...[...substrs].map(({ length }) => length)) : -1;
}
2
Модератор
Эксперт HTML/CSS
 Аватар для AlexZaw
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,091
07.06.2022, 00:33
DrType, а что это за запись?
JavaScript
1
.map(({ length }) => length))
я понимаю что стрелочная функция, но что в map аргументом приходит? почему length в фигурных скобках?
0
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
07.06.2022, 00:37
Это применение деструктуризации объекта; так как у строки есть свойство length, то обращаясь к строке как к {length}, мы получаем доступ к значению этого свойства. Можно ещё так, например
JavaScript
1
2
const { length } = "Hello";
console.log(length);
1
 Аватар для klyapa
3503 / 1267 / 429
Регистрация: 24.07.2016
Сообщений: 1,890
07.06.2022, 00:43
JavaScript
1
2
3
4
5
const solution = str => {
    let res = str.match(/\p{L}+/gu)?.filter(e => ~e.search(/\p{Lu}/u)) ?? [];
    if(!res.length) return -1;
    return Math.max(...res.map(({length}) => length));
};
2
Модератор
Эксперт HTML/CSS
 Аватар для AlexZaw
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,091
07.06.2022, 01:26
Цитата Сообщение от DrType Посмотреть сообщение
Это применение деструктуризации объекта
блин, в таком виде я ее не признал Спасибо.
0
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
07.06.2022, 01:48
...Посмотрел я на ваши решения и в знак протеста против восстания AI решил доделать свою первую функцию, чтобы была без регулярок совсем
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function solution(s) {
  const isDigit = (str) => str.toLowerCase() == str.toUpperCase();
  const isUpper = (str) => str != str.toLowerCase();
  if (!isUpper(s)) {
    return -1;
  }
  let max = 0;
  l1: for (let i = 0; i < s.length; i++) {
    let valid = false;
    l2: for (let j = i + 1; j <= s.length; j++) {
      const symbol = s[j - 1];
      if (isDigit(symbol)) {
        i = j - 1;
        break;
      }
      if (isUpper(symbol)) {
        valid = true;
      }
      if (valid) {
        max = Math.max(max, j - i);
      }
      if (j == s.length) {
        break l1;
      }
    }
  }
  return max || -1;
}
3
07.06.2022, 14:09

Не по теме:

Надо передать Д. Коннору, что остатки сопротивления еще есть.

0
0 / 0 / 0
Регистрация: 06.06.2022
Сообщений: 5
07.06.2022, 22:03  [ТС]
Добавлено через 4 минуты
а можете пожалуйста обьяснить код?

Добавлено через 1 час 30 минут
А можете пожалуйста обьяснить код?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.06.2022, 22:03
Помогаю со студенческими работами здесь

Валидация формы
доброго времени суток! подскажите, почему во время валидации при фокусе поля само поле меняет размер? второй вопрос: если я хочу...

Валидация radiobutton
&lt;?php require_once 'config.php'; ?&gt; &lt;!DOCTYPE html&gt; &lt;html lang=&quot;ru&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; &lt;meta name=&quot;viewport&quot;...

Валидация формы
Дано: Есть форма, надо написать проверку на пустую строку, на длину пароля, на отсутствие @ в адресе почты. На ванильном js. Thank you. ...

Валидация формы на заполнение
Не могу разобраться в чем проблема. Поля Фамилия, Имя, Отчество и Номер квартиры должны быть заполнены. Если не заполнено хотя бы одно из...

Валидация input.onkeydown
Читаю https://learn.javascript.ru/keyboard-events &lt;script&gt; function checkPhoneKey(key) { return (key &gt;= '0' &amp;&amp; key &lt;= '9') ||...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru