Skip to content

Instantly share code, notes, and snippets.

@zolotyh
zolotyh / answer.dart
Created November 29, 2018 22:30 — forked from syberside/answer.dart
Подсчет слов строке
//Дана строка, содержащая буквы и числа (без знаков препиная, пробелов и пр, например 1323dart23123dart).
//Необходимо подсчитать количество вхождений каждого слова вне зависимости от регистра (используйте нижний регистр для возвращаемого значения, например {dart:2})
Map<String, int> calculateWordsCount(String str){
var tokens = str.split(new RegExp(r'[0-9]')).where((t)=>t!='');
var map = new Map<String, int>();
for(var token in tokens){
token = token.toLowerCase();
if(!map.containsKey(token)){
map[token]=0;
}
@zolotyh
zolotyh / answer.dart
Last active November 29, 2018 22:29 — forked from syberside/answer.dart
Музей невероятно скучных вещей
List<int> removeSmallest(List<int> input){
if(input == null || input.length==0){
return input;
}
var minIndex = 0;
var min = input[0];
for(var i=1;i<input.length;i++){
var item = input[i];
@zolotyh
zolotyh / parse.dart
Last active November 29, 2018 22:21 — forked from kalachevmax/parse.dart
// Строка состоит из произвольной последовательности символов, перемежаемых открывающей "(" и закрывающей ")" скобочками. Необходимо проверить, что каждой открывающей скобочке соответствует закрывающая.
// Вход: строка
// Выход: "ok" или "error: $i", где $i - индекс ошибочного символа.
// Учитывается последний некорректный символ.
String parse(String str) {
return null;
}
// Дан массив целых чисел.
// Найти наибольшую возрастающую подпоследовательность.
// В случае пустого массива и массива из одного элемента - результат равен исходному массиву, в случае, если все подпоследовательности состоят из одного элемента, возвращается первая.
List<int> findMaxIncrementalSubList(List<int> list) {
return null;
}
@zolotyh
zolotyh / tree.dart
Last active December 1, 2018 09:49 — forked from kalachevmax/tree.dart
// Поиск файла.
// Среди иерархии папок затерялся файл. Напиши функцию для поиска файла. Файловая система представлена в виде мапки.
// Гарантируем, что на файловой системе не может быть более одного файла.
// Результат нужно вернуть в ввиде строки: пути к файлу, либо 'File not found' в случае отсутствия файла.
// Пример:
// {
// 'f1': {
// 'f11': {
// 'f111': {
@zolotyh
zolotyh / .dart
Last active December 1, 2018 09:50 — forked from andrewst/.dart
longestConsec
// Последовательные строки
// Задан массив строк и целое число k. Задача - вернуть самую длинную строку, состоящую из k последовательных строк, взятых в массиве.
// Пример:
// Входной массив: ['zone', 'abigail', 'theta', 'form', 'libe', 'zas', 'theta', 'abigail']
// Количество строк: 2
// Результат: 'abigailtheta'
String longestConsec(List<String> array, int k) {
return 'abigailtheta';
// Уникальный порядок
// Реализуй функцию, которая принимает в качестве аргумента массив элементов и возвращает массив элементов без каких-либо элементов с одинаковым значением рядом друг с другом и сохраняя исходный порядок
// uniqueInOrder([1,2,2,3,3,2,2,1]) ==> [1,2,3,2,1]
// Сделай так, чтобы прошли тесты
Iterable<int> uniqueInOrder(List<int> array) {
return [1, 2];
}
// Проверка пинкода
// Напиши фнукцию проверки пинкода. Пинкод может содержать 4 или 6 цифр. При правильном пинкоде нужно выводить true, при неправильном false
// Сделай так, чтобы прошли тесты
bool validatePIN(String input) {
return true;
}
@zolotyh
zolotyh / longest.dart
Created November 29, 2018 22:01 — forked from NevRA/longest.dart
// Найдите самую длинную подстроку в алфавитном порядке.
// Например: самая длинная алфавитная подстрока в asdfaaaabbbbcttavvfffffdf является aaaabbbbctt.
// Входные параметры будут состоять только из символов нижнего регистра и будет содержать как минимум одну букву.
// Удачи :)
// P.S. Чтобы получить список символов в строке можно воспользоваться 'str.codeUnits'
// P.P.S Чтобы получить строку из символа можно вызвать String.fromCharCode(char), где char символ из str.codeUnits
// Наименьшее и наибольшее
// В этом маленьком задании вам предоставляется строка разделенных пробелами чисел и приходится возвращать самое большой и самое маленькое число в виде строки.
// Пример
// highAndLow("1 2 3 4 5"); // return "5 1"
// highAndLow("1 2 -3 4 5"); // return "5 -3"
// highAndLow("1 9 3 4 -5"); // return "9 -5"
import 'dart:math';