├── .gitignore ├── README.md └── src ├── tasks_2022 ├── task1 │ ├── Main.java │ ├── Task1.jpg │ └── Test.java ├── task2 │ ├── Main.java │ ├── Task2.jpg │ └── Test.java ├── task3 │ ├── Main.java │ ├── Task3.jpg │ └── Test.java ├── task4 │ ├── Main.java │ ├── Task4.jpg │ └── Test.java ├── task5 │ ├── Main.java │ ├── Task5.jpg │ └── Test.java └── test │ ├── Test.java │ └── test.txt ├── tasks_2023_2 ├── task1 │ ├── Main.java │ ├── Task1.jpg │ └── Test.java ├── task2 │ ├── Main.java │ ├── Task2.jpg │ └── Test.java ├── task3 │ ├── Main.java │ ├── Task3.jpg │ ├── Test.java │ └── Пока нет эмуляции теста.txt ├── task4 │ ├── Main.java │ └── Task4.jpg ├── task5 │ ├── Main.java │ └── Task5.jpg └── test │ ├── Test.java │ └── test.txt ├── tasks_2023_3 ├── task1 │ ├── Main.java │ ├── Test.java │ └── task1.png ├── task2 │ ├── Main.java │ ├── Test.java │ └── task2.png ├── task3 │ ├── Main.java │ ├── Test.java │ └── task3.png ├── task4 │ ├── Main.java │ ├── Test.java │ └── task4.png ├── task5 │ └── task5.png ├── task6 │ └── task6.png └── test │ ├── Test.java │ └── test.txt └── tasks_2024_3 ├── task1 └── task1.png ├── task2 └── task2.png ├── task3 └── task3.png ├── task4 └── task4.png ├── task5 └── task5.png ├── task6 └── task6.png └── test ├── 1.png ├── 2.png ├── Test.java └── test.txt /.gitignore: -------------------------------------------------------------------------------- 1 | # В файле .gitignore содержится список файлов, которые не контролируются через git. 2 | # Compiled class file 3 | *.class 4 | 5 | # Log file 6 | *.log 7 | 8 | # BlueJ files 9 | *.ctxt 10 | 11 | # Mobile Tools for Java (J2ME) 12 | .mtj.tmp/ 13 | 14 | # Package Files # 15 | *.jar 16 | *.war 17 | *.nar 18 | *.ear 19 | *.zip 20 | *.tar.gz 21 | *.rar 22 | 23 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 24 | hs_err_pid* 25 | 26 | # Папка target используется maven в качестве папки для хранения скомпилированных кодов. 27 | target 28 | out 29 | 30 | # Игнорируем файлы Idea 31 | .idea 32 | *.iml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Решаем тесты и задачи от Tinkoff

2 | Описание: собираем и решаем разные задачи от Tinkoff для подготовки к собесам
3 | Инструкция: заходим по ссылке в папку, там все, что удалось собрать
4 | по данной задаче: вопросы, если есть - решения, изображения и т.д.
5 | Важное примечание: нет уверенности, что все задания выполнены верно,
6 | возможно есть лучшие решения
7 | Цель данного сборника - познакомить вас с тем, что вас может ждать,
8 | и тренировка перед собесами.
9 | Совет - попробуйте решить самостоятельно. Если в течении часа не получается,
10 | попробуйте просто переписать решение и разобраться в нем.
11 | Через какое-то время все повторить.
12 | Постепенно сработает либо память, либо логика.
13 | Жми ★ если понравилось.

14 | 15 |

Задания 2024 года - (название - весна 2024)

16 | Реально тестирование было в декабре 23
17 | (разбираем тестирование, задачи не решены)
18 | src/tasks_2024_3

19 | 20 |

Задания 2023 года (возможно март)

21 | (некоторые задачи не решены)
22 | src/tasks_2023_3

23 | 24 |

Задания 2023 года (вероятно февраль)

25 | Вступительный контест Java
26 | src/tasks_2023_2

27 | 28 |

Задания 2022 года (вероятно)

29 | src/tasks_2022

30 | 31 | -------------------------------------------------------------------------------- /src/tasks_2022/task1/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2022.task1; 2 | 3 | import java.util.Scanner; 4 | 5 | public class Main { 6 | public static void main(String[] args) { 7 | Scanner scanner = new Scanner(System.in); 8 | int a = scanner.nextInt(); 9 | int b = scanner.nextInt(); 10 | int x = scanner.nextInt(); 11 | int n = (a + b)/2; 12 | if (a <= b) { 13 | System.out.println("NO"); 14 | } else if (a%2 != b%2) { 15 | System.out.println("NO"); 16 | } else if (a - x < n) { 17 | System.out.println("NO"); 18 | } else { 19 | System.out.println("YES"); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/tasks_2022/task1/Task1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2022/task1/Task1.jpg -------------------------------------------------------------------------------- /src/tasks_2022/task1/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2022.task1; 2 | 3 | /* 4 | Проверяем работу Main класса 5 | */ 6 | public class Test { 7 | public static void main(String[] args) { 8 | int a = 5; 9 | int b = 3; 10 | int x = 1; 11 | int n = (a + b)/2; 12 | if (a <= b) { 13 | System.out.println("NO"); 14 | } else if (a%2 != b%2) { 15 | System.out.println("NO"); 16 | } else if (a - x < n) { 17 | System.out.println("NO"); 18 | } else { 19 | System.out.println("YES"); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/tasks_2022/task2/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2022.task2; 2 | 3 | import java.util.Scanner; 4 | 5 | public class Main { 6 | public static void main(String[] args) { 7 | Scanner scanner = new Scanner(System.in); 8 | long n = scanner.nextLong(); 9 | long m = scanner.nextLong(); 10 | long count = 0; 11 | while ( n > 0 & m > 0){ 12 | if (n > m){ 13 | n -= m; 14 | ++count; 15 | }else { 16 | m -= n; 17 | ++count; 18 | } 19 | } 20 | System.out.println(count); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/tasks_2022/task2/Task2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2022/task2/Task2.jpg -------------------------------------------------------------------------------- /src/tasks_2022/task2/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2022.task2; 2 | 3 | public class Test { 4 | public static void main(String[] args) { 5 | long n = 5; 6 | long m = 10; 7 | long count = 0; 8 | while ( n > 0 & m > 0){ 9 | if (n > m){ 10 | n -= m; 11 | ++count; 12 | }else { 13 | m -= n; 14 | ++count; 15 | } 16 | } 17 | System.out.println(count); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/tasks_2022/task3/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2022.task3; 2 | 3 | import java.util.Scanner; 4 | 5 | public class Main { 6 | public static void main(String[] args) { 7 | Scanner scanner = new Scanner(System.in); 8 | int n = scanner.nextInt(); 9 | long[] mas = new long[n]; 10 | int x = 1; 11 | boolean flag = false; 12 | for (int i = 0; i < n; i++) { 13 | mas[i] = scanner.nextLong(); 14 | } 15 | x = ((int) Math.sqrt(mas[0])) + 1; 16 | long x1 = x; 17 | while (!flag){ 18 | for (int i = 0; i < n;i++){ 19 | if (ToDo(x1,mas[i]) < 0 ){ 20 | ++x; 21 | x1 = x; 22 | flag = false; 23 | break; 24 | } 25 | x1 = ToDo(x1,mas[i]); 26 | flag = true; 27 | } 28 | } 29 | System.out.println(x); 30 | } 31 | 32 | public static long ToDo(long k, long a){ 33 | return k*k -a; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/tasks_2022/task3/Task3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2022/task3/Task3.jpg -------------------------------------------------------------------------------- /src/tasks_2022/task3/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2022.task3; 2 | 3 | // тестируем решение 4 | public class Test { 5 | public static void main(String[] args) { 6 | int n = 2; // количество элементов в массиве 7 | long[] mas = new long[n]; 8 | int x = 1; 9 | boolean flag = false; 10 | for (int i = 0; i < n; i++) { 11 | mas[0] = 3; // вручную заполняем массив 12 | mas[1] = 4; 13 | } 14 | x = ((int) Math.sqrt(mas[0])) + 1; 15 | long x1 = x; 16 | while (!flag){ 17 | for (int i = 0; i < n;i++){ 18 | if (ToDo(x1,mas[i]) < 0 ){ 19 | ++x; 20 | x1 = x; 21 | flag = false; 22 | break; 23 | } 24 | x1 = ToDo(x1,mas[i]); 25 | flag = true; 26 | } 27 | } 28 | System.out.println(x); 29 | } 30 | 31 | public static long ToDo(long k, long a){ 32 | return k*k -a; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/tasks_2022/task4/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2022.task4; 2 | 3 | import java.util.Scanner; 4 | 5 | public class Main { 6 | public static void main(String[] args) { 7 | Scanner scanner = new Scanner(System.in); 8 | int n = scanner.nextInt(); 9 | int m = scanner.nextInt(); 10 | int count = 0; 11 | if (((2*n - m - 1) % 3 == 0) & ((2*m - n - 1) % 3 == 0)) { 12 | int x = (2 * n - m - 1) / 3 ; 13 | int y = (2 * m - n - 1) / 3 ; 14 | count = getFactorial(x+y)/(getFactorial(x)*getFactorial(y)); 15 | } 16 | System.out.println(count); 17 | } 18 | 19 | public static int getFactorial(int f) { 20 | int result = 1; 21 | for (int i = 1; i <= f; i++) { 22 | result = result * i; 23 | } 24 | return result; 25 | } 26 | } -------------------------------------------------------------------------------- /src/tasks_2022/task4/Task4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2022/task4/Task4.jpg -------------------------------------------------------------------------------- /src/tasks_2022/task4/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2022.task4; 2 | 3 | // тестируем решение 4 | public class Test { 5 | public static void main(String[] args) { 6 | int n = 4; 7 | int m = 4; 8 | int count = 0; 9 | if (((2*n - m - 1) % 3 == 0) & ((2*m - n - 1) % 3 == 0)) { 10 | int x = (2 * n - m - 1) / 3 ; 11 | int y = (2 * m - n - 1) / 3 ; 12 | count = getFactorial(x+y)/(getFactorial(x)*getFactorial(y)); 13 | } 14 | System.out.println(count); 15 | } 16 | 17 | public static int getFactorial(int f) { 18 | int result = 1; 19 | for (int i = 1; i <= f; i++) { 20 | result = result * i; 21 | } 22 | return result; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/tasks_2022/task5/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2022.task5; 2 | 3 | import java.util.Scanner; 4 | 5 | public class Main { 6 | public static void main(String[] args) { 7 | Scanner scanner = new Scanner(System.in); 8 | int n = scanner.nextInt(); 9 | int a[] = new int[n]; 10 | int b[] = new int[n]; 11 | boolean check[] = new boolean[n]; 12 | for (int i = 0; i < n; i++){ 13 | a[i] = scanner.nextInt(); 14 | } 15 | for (int i = 0; i < n; i++){ 16 | b[i] = scanner.nextInt(); 17 | } 18 | boolean flag = false; 19 | int l = 0; 20 | int count = 0; 21 | int max = 0; 22 | metka: 23 | while (!flag){ 24 | if (!check[l]) { 25 | check[l] = true; 26 | for (int i = 1; i <= a[n-l-1]; i++){ 27 | int l1 = l + i; 28 | if (l1 >= n) { 29 | flag = true; 30 | break metka; 31 | } else { 32 | l1 = l1 - b[n - l1 - 1]; 33 | } 34 | max = Math.max(max, l1); 35 | 36 | } 37 | count++; 38 | l = max; 39 | max = 0; 40 | } else{ 41 | break; 42 | } 43 | } 44 | if (flag){ 45 | System.out.println(count+1); 46 | }else { 47 | System.out.println(-1); 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /src/tasks_2022/task5/Task5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2022/task5/Task5.jpg -------------------------------------------------------------------------------- /src/tasks_2022/task5/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2022.task5; 2 | 3 | /* 4 | Заполняем данные вручную из первого примера 5 | Замечание 6 | В Первом тесте из условия Линк за один прыжок 7 | поднимается к отметке на расстоянии 1 метр от вершины 8 | При этом он соскальзывает вниз на один метр. 9 | Следующим прыжком он запрыгнет на гору. 10 | */ 11 | public class Test { 12 | public static void main(String[] args) { 13 | int n = 3; // высота горы 14 | int a[] = new int[n]; //массив прыжков 15 | int b[] = new int[n]; //массив соскальзываний 16 | boolean check[] = new boolean[n]; 17 | for (int i = 0; i < n; i++){ 18 | a[0] = 0; 19 | a[1] = 2; 20 | a[2] = 2; 21 | } 22 | for (int i = 0; i < n; i++){ 23 | b[0] = 1; 24 | b[1] = 1; 25 | b[2] = 0; 26 | } 27 | boolean flag = false; 28 | int l = 0; 29 | int count = 0; 30 | int max = 0; 31 | metka: 32 | while (!flag){ 33 | if (!check[l]) { 34 | check[l] = true; 35 | for (int i = 1; i <= a[n-l-1]; i++){ 36 | int l1 = l + i; 37 | if (l1 >= n) { 38 | flag = true; 39 | break metka; 40 | } else { 41 | l1 = l1 - b[n - l1 - 1]; 42 | } 43 | max = Math.max(max, l1); 44 | 45 | } 46 | count++; 47 | l = max; 48 | max = 0; 49 | } else{ 50 | break; 51 | } 52 | } 53 | if (flag){ 54 | System.out.println(count+1); 55 | }else { 56 | System.out.println(-1); 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /src/tasks_2022/test/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2022.test; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Arrays; 5 | import java.util.List; 6 | 7 | /* 8 | Здесь проверяем некоторые утверждения из теста 9 | */ 10 | public class Test { 11 | public static void main(String[] args) { 12 | List numbers = new ArrayList<>(Arrays.asList("first", "second", "third")); 13 | for (String number: numbers) { 14 | if ("third".equals(number)) { 15 | numbers.add("fourth"); 16 | } 17 | } 18 | System.out.println(numbers.size()); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/tasks_2022/test/test.txt: -------------------------------------------------------------------------------- 1 | Это тестовое задание. 2 | Дается перед задачами на программирование 3 | Буквой (V) обозначаю возможные ответы 4 | Гарантий на правильность нет 5 | (в скобках пишу каменты и непонятки) 6 | 7 | 8 | 9 | 1. Выберите верные утверждения 10 | - Если 2 объекта равны по equals, то их hashCode() должен совпадать (V) 11 | - Если 2 объекта не равны по equals, то их hashCode() может совпадать (V) 12 | - Если 2 объекта не равны по equals, то их hashCode() должен не совпадать 13 | 14 | --- 15 | 16 | 2. Что делает код: 17 | Thread thread = new Thread(new Runnable() { 18 | @Override 19 | public void run() { 20 | System.out.println("Hello Word"); 21 | } 22 | }); 23 | - Код выводит на консоль Hello Word 24 | - Код создает новый объект Thread (V) 25 | - Код создает новый поток и выполняет метод run() 26 | 27 | --- 28 | 29 | 3. Если полю класса не задан модификатор доступа, 30 | то будет применен: 31 | - package-private (V) 32 | - private 33 | - public 34 | 35 | --- 36 | 37 | 4. Выберите самый строгий модификатор доступа: 38 | - public 39 | - package-private (V) 40 | - protected 41 | 42 | --- 43 | 44 | 5. Какой класс/интерфейс в java представляет ассоциативный массив? 45 | - Set 46 | - ArrayList 47 | - Map (V) 48 | - Hash 49 | 50 | --- 51 | 52 | 6. Правильно ли объявлен метод 53 | void func() {...} 54 | void func(int a) {...} 55 | - да (V) 56 | - нет 57 | 58 | --- 59 | 60 | 7. Что означает ключевое слово void 61 | - Возвращается пустое пространство памяти, чтобы разработчики могли его использовать 62 | - Метод, объявленный с возвращаемым типом void не возвращает значение (V) 63 | - void не поддерживается в Java 64 | 65 | --- 66 | 67 | 8. Что изображено в фрагменте кода 68 | void func() {...} 69 | void func(int a) {...} 70 | 71 | - перегрузка метода (V) 72 | - переопределение метода 73 | - модификация метода 74 | 75 | --- 76 | 77 | 9. Что произойдет, если добавить 11 элементов в список list 78 | 79 | List list = new ArrayList(10); 80 | - список автоматически расширится и все 11 элементов уместятся (V) 81 | - размер списка останется неизменным и уместятся только первые 10 элементов 82 | - размер списка останется неизменным и уместятся случайные 10 элементов 83 | - будет выброшен ArrayIndexOutOfBoundsException 84 | 85 | --- 86 | 87 | 10. Какую реализацию List предпочтительнее использовать для удаления 88 | из него элементов по условию 89 | - CopyOnWriteArrayList 90 | - ArrayList 91 | - LinkedList (V) 92 | (не понял, что имели ввиду составители вопроса) 93 | 94 | --- 95 | 96 | 11. Есть ли ошибка в блоке кода? 97 | try { 98 | //... 99 | } catch (IOException | NullPointerException e) { 100 | //... 101 | } 102 | - нет, все в порядке 103 | - ошибка компилляции, нельзя обрабатывать 2 ошибки в одном блоке catch 104 | - ошибка компилляции, проверяемое и непроверяемое исключение (V) 105 | обрабатываются в одном блоке 106 | 107 | --- 108 | 109 | 12. Произойдет ли ошибка при попытке выполнить код: 110 | int i1 = Integer.MAX_VALUE; 111 | int i2 = Integer.MAX_VALUE; 112 | System.out.println(i1 + i2); 113 | - Ошибки нет (V) //-2 114 | - Ошибка компилляции 115 | - Ошибка во время выполнения 116 | 117 | --- 118 | 119 | 13. Может ли конструктор быть private 120 | - да (V) 121 | - нет 122 | 123 | --- 124 | 125 | 14. Аргументы методов в java передаются по значению или по ссылке 126 | - всегда по значению (V) 127 | - всегда по ссылке 128 | - примитивы по значению, объекты по ссылке 129 | 130 | --- 131 | 132 | 15. В конструкции try-catch-finally блок finally выполняется 133 | - всегда (V) 134 | - только если не сработал ни один catch 135 | - если в catch произошла ошибка 136 | 137 | --- 138 | 139 | 16. Что будет выведено после выполнения кода: 140 | int k = 0; 141 | for (int i = 0; i < 10; i++) { 142 | k = k++; 143 | } 144 | System.out.println(k); 145 | - 10 146 | - 9 147 | - 0 (V) 148 | - RuntimeException 149 | 150 | --- 151 | 152 | 17. Что будет выведено после выпонения кода 153 | List numbers = new ArrayList<>(Arrays.asList("first", "second", "third")); 154 | for (String number: numbers) { 155 | if ("third".equals(number)) { 156 | numbers.add("fourth"); 157 | } 158 | } 159 | System.out.println(numbers.size()); 160 | 161 | --- 162 | - 3 163 | - 4 164 | - ничего 165 | - упадет с ошибкой (V) (как я понимаю, иммутабельная коллекция) 166 | 167 | 168 | 169 | 170 | 171 | -------------------------------------------------------------------------------- /src/tasks_2023_2/task1/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_2.task1; 2 | 3 | import java.util.Scanner; 4 | 5 | public class Main { 6 | public static void main(String[] args) { 7 | Scanner scanner = new Scanner(System.in); 8 | String number = scanner.nextLine(); 9 | int longOfLine = number.length(); 10 | int countOf = 0; 11 | boolean[] checkerArray = new boolean[10]; 12 | boolean flag = false; 13 | 14 | for (int i = 0; i <= longOfLine - 10; i++){ 15 | String str = number.substring(i, i+10); 16 | String newStr = str.replaceAll("\\?", ""); 17 | countOf = 10 - newStr.length(); 18 | Long intStr = Long.parseLong(newStr); 19 | while (intStr > 0){ 20 | int b = (int) (intStr % 10); 21 | checkerArray[b] = true; 22 | intStr /=10; 23 | } 24 | for (boolean bool: checkerArray){ 25 | if (bool){ 26 | countOf++; 27 | } 28 | } 29 | if( countOf >=10){ 30 | flag = true; 31 | } 32 | checkerArray = new boolean[10]; 33 | } 34 | if (flag){ 35 | System.out.println("YES"); 36 | }else { 37 | System.out.println("NO"); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/tasks_2023_2/task1/Task1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2023_2/task1/Task1.jpg -------------------------------------------------------------------------------- /src/tasks_2023_2/task1/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_2.task1; 2 | 3 | /* тестируем на NO */ 4 | public class Test { 5 | public static void main(String[] args) { 6 | String number = "0?2?4?6?802?"; 7 | int longOfLine = number.length(); 8 | int countOf = 0; 9 | boolean[] checkerArray = new boolean[10]; 10 | boolean flag = false; 11 | 12 | for (int i = 0; i <= longOfLine - 10; i++){ 13 | String str = number.substring(i, i+10); 14 | String newStr = str.replaceAll("\\?", ""); 15 | countOf = 10 - newStr.length(); 16 | Long intStr = Long.parseLong(newStr); 17 | while (intStr > 0){ 18 | int b = (int) (intStr % 10); 19 | checkerArray[b] = true; 20 | intStr /=10; 21 | } 22 | for (boolean bool: checkerArray){ 23 | if (bool){ 24 | countOf++; 25 | } 26 | } 27 | if( countOf >=10){ 28 | flag = true; 29 | } 30 | checkerArray = new boolean[10]; 31 | } 32 | if (flag){ 33 | System.out.println("YES"); 34 | }else { 35 | System.out.println("NO"); 36 | } 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/tasks_2023_2/task2/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_2.task2; 2 | 3 | import java.util.Scanner; 4 | 5 | public class Main { 6 | public static void main(String[] args) { 7 | Scanner scanner = new Scanner(System.in); 8 | int n = Integer.parseInt(scanner.nextLine()); 9 | int[] intArray = new int[n]; 10 | int count = 0; 11 | 12 | int startDegree = -1; 13 | 14 | int maxDegree = 0; 15 | boolean plusINF = true; 16 | boolean[] boolArray = new boolean[n]; 17 | for (int i = 0; i < n; i++){ 18 | String[] str1 = scanner.nextLine().split("\\s"); 19 | intArray[i] = Integer.parseInt(str1[0]); 20 | if (str1[1].equals("-")){ 21 | boolArray[i] = false; 22 | }else { 23 | boolArray[i] = true; 24 | } 25 | } 26 | 27 | for (int i = 0; i= 0){ 43 | checker = true; 44 | }else { 45 | checker = false; 46 | } 47 | if (!(checker == boolArray[i])) { 48 | flag = false; 49 | break; 50 | } else { 51 | flag = true; 52 | } 53 | } 54 | 55 | if (flag) { 56 | break; 57 | } else { 58 | startDegree--; 59 | } 60 | } 61 | System.out.println(maxDegree); 62 | }else{ 63 | System.out.println("inf"); 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/tasks_2023_2/task2/Task2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2023_2/task2/Task2.jpg -------------------------------------------------------------------------------- /src/tasks_2023_2/task2/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_2.task2; 2 | 3 | /* 4 | сюда для проверки вручную подставляем сроку 5 | Работаем по 2 примеру 6 | */ 7 | public class Test { 8 | public static void main(String[] args) { 9 | String m = "5"; //количество измерений 10 | int n = Integer.parseInt(m); 11 | int[] intArray = new int[n]; 12 | int count = 0; 13 | 14 | int startDegree = -1; 15 | 16 | int maxDegree = 0; 17 | boolean plusINF = true; 18 | boolean[] boolArray = new boolean[n]; 19 | String [] string = {"0 -", "8 -", "4 0+","-3 0+","5 0+"}; //создаем проверочный массив 2 примера 20 | for (int i = 0; i < n; i++){ 21 | String[] str1 = string[i].split("\\s"); //добавляем тут, s= пробелы 22 | intArray[i] = Integer.parseInt(str1[0]); 23 | if (str1[1].equals("-")){ 24 | boolArray[i] = false; 25 | }else { 26 | boolArray[i] = true; 27 | } 28 | } 29 | 30 | for (int i = 0; i= 0){ 46 | checker = true; 47 | }else { 48 | checker = false; 49 | } 50 | if (!(checker == boolArray[i])) { 51 | flag = false; 52 | break; 53 | } else { 54 | flag = true; 55 | } 56 | } 57 | 58 | if (flag) { 59 | break; 60 | } else { 61 | startDegree--; 62 | } 63 | } 64 | System.out.println(maxDegree); 65 | }else{ 66 | System.out.println("inf"); 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/tasks_2023_2/task3/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_2.task3; 2 | 3 | import java.util.Scanner; 4 | 5 | public class Main { 6 | public static void main(String[] args) { 7 | Scanner scanner = new Scanner(System.in); 8 | int n, m, k; 9 | n = scanner.nextInt(); 10 | m = scanner.nextInt(); 11 | k = scanner.nextInt(); 12 | int[] p = new int[n]; 13 | int[] a = new int[m]; 14 | int[] b = new int[m]; 15 | boolean[] checkDone = new boolean[m]; 16 | int countOfCheckDone = 0; 17 | int count = 0; 18 | 19 | for (int i = 0; i < n; i++){ 20 | p[i] = scanner.nextInt(); 21 | } 22 | 23 | for (int i = 0; i < m; i++){ 24 | a[i] = scanner.nextInt(); 25 | b[i] = scanner.nextInt(); 26 | if(p[a[i]-1] == p[b[i]-1]){ 27 | checkDone[i] = true; 28 | countOfCheckDone++; 29 | } 30 | } 31 | 32 | 33 | 34 | while (countOfCheckDone < m) { 35 | 36 | int[] countMaxP = new int[k]; 37 | int maxP = 0; 38 | int numberOfMaxP = 0; 39 | for (int i = 0; i < m; i++) { 40 | if (!checkDone[i]) { 41 | countMaxP[p[a[i]-1]-1]++; 42 | countMaxP[p[b[i]-1]-1]++; 43 | } 44 | } 45 | 46 | for (int i = 0; i < k; i++) { 47 | if (numberOfMaxP <= countMaxP[i]) { 48 | maxP = i+1; 49 | numberOfMaxP = countMaxP[i]; 50 | } 51 | } 52 | 53 | for (int i = 0; i < m; i++) { 54 | if (!checkDone[i]) { 55 | if (a[i] == maxP) { 56 | b[i] = maxP; 57 | count++; 58 | break; 59 | } 60 | if (b[i] == maxP) { 61 | a[i] = maxP; 62 | count++; 63 | break; 64 | } 65 | } 66 | } 67 | 68 | for (int i = 0; i < m; i++) { 69 | if (p[a[i]-1] == p[b[i]-1]) { 70 | checkDone[i] = true; 71 | countOfCheckDone++; 72 | } 73 | } 74 | } 75 | System.out.println(count); 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /src/tasks_2023_2/task3/Task3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2023_2/task3/Task3.jpg -------------------------------------------------------------------------------- /src/tasks_2023_2/task3/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_2.task3; 2 | 3 | 4 | 5 | /* 6 | Пробуем сэмулировать 1 пример 7 | Пока не получается 8 | */ 9 | public class Test { 10 | public static void main(String[] args) { 11 | int n, m, k; 12 | n = 3; // количество телескопов 13 | m = 2; // количество звезд 14 | k = 3; // количество режимов 15 | int[] p = {1, 2, 3}; // режимы, в которых остались телескопы с предыдущего наблюдения 16 | int[] a = {1, 2}; // номера телескопов 17 | int[] b = {1, 3};// номера телескопов 18 | boolean[] checkDone = new boolean[m]; 19 | int countOfCheckDone = 0; 20 | int count = 0; 21 | 22 | for (int i = 0; i < n; i++){ // режимы телескопов 23 | // p[i] = scanner.nextInt(); ранее сканировалось 24 | } 25 | 26 | for (int i = 0; i < m; i++){ // номера телескопов 27 | //a[i] = scanner.nextInt(); 28 | //b[i] = scanner.nextInt(); 29 | if(p[a[i]-1] == p[b[i]-1]){ 30 | checkDone[i] = true; 31 | countOfCheckDone++; 32 | } 33 | } 34 | 35 | while (countOfCheckDone < m) { 36 | 37 | int[] countMaxP = new int[k]; 38 | int maxP = 0; 39 | int numberOfMaxP = 0; 40 | for (int i = 0; i < m; i++) { 41 | if (!checkDone[i]) { 42 | countMaxP[p[a[i]-1]-1]++; 43 | countMaxP[p[b[i]-1]-1]++; 44 | } 45 | } 46 | 47 | for (int i = 0; i < k; i++) { 48 | if (numberOfMaxP <= countMaxP[i]) { 49 | maxP = i+1; 50 | numberOfMaxP = countMaxP[i]; 51 | } 52 | } 53 | 54 | for (int i = 0; i < m; i++) { 55 | if (!checkDone[i]) { 56 | if (a[i] == maxP) { 57 | b[i] = maxP; 58 | count++; 59 | break; 60 | } 61 | if (b[i] == maxP) { 62 | a[i] = maxP; 63 | count++; 64 | break; 65 | } 66 | } 67 | } 68 | 69 | for (int i = 0; i < m; i++) { 70 | if (p[a[i]-1] == p[b[i]-1]) { 71 | checkDone[i] = true; 72 | countOfCheckDone++; 73 | } 74 | } 75 | } 76 | System.out.println(count); 77 | } 78 | } -------------------------------------------------------------------------------- /src/tasks_2023_2/task3/Пока нет эмуляции теста.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2023_2/task3/Пока нет эмуляции теста.txt -------------------------------------------------------------------------------- /src/tasks_2023_2/task4/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_2.task4; 2 | 3 | import java.util.Scanner; 4 | 5 | public class Main { 6 | public static void main(String[] args) { 7 | Scanner scanner = new Scanner(System.in); 8 | int n = scanner.nextInt(); 9 | Filter[] filters = new Filter[n]; 10 | int[] a = new int[n]; 11 | int[] p = new int[n]; 12 | int[] l = new int[n]; 13 | for (int i = 0; i=fullLength){ 29 | if(filterNow.getP() == 0){ 30 | break; 31 | } 32 | filterNow = filters[filterNow.getP()-1]; 33 | filterNow.setCount(filterNow.getCount()+1); 34 | fullLength += filterNow.getL(); 35 | } 36 | 37 | } 38 | 39 | for (int i = 0; i 0){ 37 | t = array[q]; 38 | qq = q; 39 | array[q] = 0; 40 | break; 41 | } 42 | } 43 | for (int q = 0; q(), 87 | new LinkedList <>(), 88 | new Stack<>(), 89 | new Vector<>(), 90 | }; 91 | 92 | for (List list : myList) { 93 | list.clear(); 94 | } 95 | - Композиция 96 | - Параметризация (Generics) 97 | - Полиморфизм (V) 98 | - Энкапсуляция 99 | 100 | --- 101 | 102 | 9. Какой тип данных подходит для переменной f 103 | ... f = x -> { 104 | return x % 2 == 0 ? "even" : "odd"; 105 | }; 106 | - Function 107 | - Function (V) 108 | - Function 109 | - Function 110 | - Function 111 | 112 | --- 113 | 114 | 10. Определите временную сложность кода: 115 | void f(int[] a, int[] b) { 116 | int N = a.length; 117 | int M = b.length; 118 | for (int i = 0; i < N; i++) { 119 | for (int j = 0; j < M; j++) { 120 | if (a[i] < b [j]){ 121 | System.out.println(a[i] + "," + b[j]); 122 | } 123 | } 124 | } 125 | } 126 | - O(N^2) 127 | - O(N) 128 | - O(NM) (V) 129 | - O(log(N)log(M)) 130 | - O(1) 131 | - O(Nlog(M)) 132 | 133 | --- 134 | 135 | 11. Какое описание больше всего соотвествует понятию "unit-тесты" 136 | - Проверяют корректность работы отдельных, самых маленьких (V) 137 | элементов системы, функции, методы 138 | - Проверяют, хорошо ли работают вмесвместе различные модули и сервисы, 139 | используемые приложением 140 | - Копируют поведение пользователя при работе с ПО в 141 | контексте всего приложения 142 | - Оценивают работу системы при определенной рабочей нагрузке 143 | 144 | --- 145 | 146 | 12 Выберите верные утверждения об интерфейсах 147 | - Интерфейс описывает контракт (функции) (V) 148 | - Интерфейс хранит состояние (переменные) 149 | - В Интерфейсе можно объявлять константы (V) 150 | - Интерфейс может иметь стандартную имплементацию (V) 151 | - Интерфейс не может быть пустым: должен быть хотя бы 152 | один метод 153 | - Методы интерфейса могут быть финальными 154 | 155 | --- 156 | 157 | 13. Какой из модификторов запрещает редактирование переменной 158 | после инициализации 159 | - protected 160 | - static 161 | - final (V) 162 | - private 163 | 164 | --- 165 | 166 | 14. Наследники класса создаются при помощи ключевого слова 167 | - extends (V) 168 | - abstract 169 | - implement 170 | - interfaces 171 | 172 | --- 173 | 174 | 15. Как правильно сделать инициализацию переменной 175 | типа byte со значением 200 176 | - byte b = 200; 177 | - var b = 200; 178 | - byte b = (byte)200 179 | - Никак (V) 180 | 181 | --- 182 | 183 | 16. Дан список сотрудников 'List employees', при 184 | этом у класса 'Employee' есть метод 'String getName'. Какой 185 | из вызовов вернет список имен сотрудников? 186 | - employees.collect(e->e.getName()); 187 | - employees.filter(Employee::getName) 188 | .collect(Collectors.toUnmodifiableList()); 189 | - employees.stream().map(Employee::getName) (V) 190 | .collect(Collectors.toList()) 191 | - employees.stream().collect(e->e.getName()); 192 | 193 | --- 194 | 195 | 17. Какой из способов инициализации массива правильный 196 | - int arr[] = {22, 2, 10}; 197 | - int[] arr = {1, 11, 3}; (V) 198 | - int arr[][] ={1, 2, 3, 4}; 199 | - int[] arr = (5,4,3); 200 | - int[] arr={"1", "2", "3"}; 201 | - int[] arr = new int[]{33, 41, 0}; 202 | 203 | --- 204 | 205 | 18. Что произойдет при запуске следующего кода: 206 | Interface Foo {int x = 10;} 207 | 208 | public class Test { 209 | public static void main(String[] arg) { 210 | Foo.x = 20; 211 | System.out.println(Foo.x); 212 | } 213 | } 214 | 215 | - 10 216 | - 20 217 | - Ошибка компиляции (V) 218 | - Ошибка выполнения 219 | 220 | --- 221 | 222 | 19. Можно ли объявлять несколько main-методов в коде Java-приложения 223 | - Да (V) 224 | - Нет 225 | 226 | --- 227 | 228 | 20. Какое из утверждений верны в отношении аннотаций 229 | - @interface используется для создания новых аннотаций (V) 230 | - @Override - встроенная в JDK аннотация (V) 231 | - Аннотации нельзя применять к полям класса 232 | - @Retention - это мета аннотация (V) 233 | - Аннотации удаляются после компиляции 234 | 235 | 21. Следующий код выведет 236 | public class Test { 237 | public static void main(String[] args) { 238 | String s1 = new String("abc"); 239 | String s2 = new String("abc"); 240 | System.out.println("s1 == s2 is:" + (s1 == s2)); 241 | } 242 | } 243 | - s1 == s2 is:true 244 | - false 245 | - s1 == s2 is:false 246 | - true (V) 247 | 248 | --- 249 | 250 | 22. Какой из классов не реализует Collection 251 | - java.util.Vector 252 | - java.util.ArrayList 253 | - java.util.HashSet 254 | - java.util.HashMap 255 | 256 | --- 257 | 258 | 23. Какой из примитивов синхронизации подойдет для 259 | многопоточного доступа к переменной 260 | - ReentrantLock (V) 261 | - CountdownLatch 262 | - Future 263 | - Phaser 264 | - CyclicBarrier 265 | 266 | --- 267 | 268 | 24. Какое ключевое слово нужно добавить в метод, чтобы 269 | была гарантия, что 2 потока не смогут одновременно запусить 270 | его у одного и того же экземпляра 271 | - native 272 | - volatile 273 | - synchronized (V) 274 | - lock 275 | 276 | --- 277 | 278 | 25. Какой из классов является коневым для всех классов Java 279 | - Any 280 | - Object (V) 281 | - Nothing 282 | - Root 283 | 284 | --- 285 | 286 | 26. Какой из классов является корневым для всех исключений 287 | в Java 288 | - Exception 289 | - Error 290 | - Throwable (V) 291 | - RuntimeException 292 | 293 | 27. Какой из примеров эквивалентен коду: 294 | List number = List.of(1,2,3,4); 295 | int total = 0; 296 | for (Integer x: number) { 297 | if (x % 2 == 0) total += x*x; 298 | } 299 | - int total = numbers.stream().transform(x->*x) 300 | .filter(x->x%2 == 0).sum(); 301 | - int total = numbers.stream().filter(x-> x%2 == 0) 302 | .collect(Collectors.toInt()); 303 | - int total = numbers.stream() 304 | .mapToInt(x-> {if(x%2 ==) return x*x}).sum(); 305 | - int total = numbers.stream() 306 | .mapToInt(x-> x%2 == 0 ? x*x:0).sum(); (V) 307 | 308 | 309 | 310 | 311 | 312 | 313 | -------------------------------------------------------------------------------- /src/tasks_2023_3/task1/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_3.task1; 2 | 3 | import java.util.Scanner; 4 | 5 | public class Main { 6 | public static void main(String[] args) { 7 | Scanner scanner = new Scanner(System.in); 8 | final int n = 4; 9 | int[] h = new int[n]; 10 | for (int i = 0; i < n; i++){ 11 | h[i] = scanner.nextInt(); 12 | } 13 | if (((h[0] >= h[1])&&(h[1] >= h[2])&&(h[2] >= h[3]))||((h[0] <= h[1])&&(h[1] <= h[2])&&(h[2] <= h[3]))){ 14 | System.out.println("YES"); 15 | }else { 16 | System.out.println("NO"); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/tasks_2023_3/task1/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_3.task1; 2 | 3 | /* 4 | Проверка по 4 примеру NO 5 | (идея может быть отсортировать и сравнить по первому символу?) 6 | */ 7 | public class Test { 8 | public static void main(String[] args) { 9 | final int n = 4; 10 | int[] h = {5, 2, 3, 1}; //заменяем чтоние на готовый массив 11 | if (((h[0] >= h[1])&&(h[1] >= h[2])&&(h[2] >= h[3]))||((h[0] <= h[1])&&(h[1] <= h[2])&&(h[2] <= h[3]))){ 12 | System.out.println("YES"); 13 | }else { 14 | System.out.println("NO"); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/tasks_2023_3/task1/task1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2023_3/task1/task1.png -------------------------------------------------------------------------------- /src/tasks_2023_3/task2/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_3.task2; 2 | 3 | import java.util.Scanner; 4 | 5 | public class Main { 6 | public static void main(String[] args) { 7 | Scanner scanner = new Scanner(System.in); 8 | int n,m, k, result; 9 | n = scanner.nextInt(); 10 | m = scanner.nextInt(); 11 | k = scanner.nextInt(); 12 | 13 | if (n*k % m == 0){ 14 | result = (n * k)/m; 15 | }else { 16 | result = (n * k)/m + 1; 17 | } 18 | System.out.println(result); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/tasks_2023_3/task2/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_3.task2; 2 | 3 | import java.util.Scanner; 4 | 5 | /* 6 | Проверяем по 2 примеру, ответ должен быть 5 7 | */ 8 | public class Test { 9 | public static void main(String[] args) { 10 | int n,m, k, result; 11 | n = 7; // число джунов 12 | m = 3; // число синьеров 13 | k = 2; // число проверок 14 | 15 | if (n*k % m == 0){ 16 | result = (n * k)/m; 17 | }else { 18 | result = (n * k)/m + 1; 19 | } 20 | System.out.println(result); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/tasks_2023_3/task2/task2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2023_3/task2/task2.png -------------------------------------------------------------------------------- /src/tasks_2023_3/task3/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_3.task3; 2 | 3 | import java.util.Scanner; 4 | 5 | public class Main { 6 | public static void main(String[] args) { 7 | int indexToA = -1, indexToB = -1, indexToC = -1, indexToD =-1; 8 | int n; 9 | char charNow; 10 | boolean flag = false; 11 | Scanner scanner = new Scanner(System.in); 12 | n = scanner.nextInt(); 13 | int result = n; 14 | String str = scanner.next(); 15 | for (int i = 0; i < n; i++){ 16 | charNow = str.charAt(i); 17 | if(charNow == 'a'){ 18 | indexToA = i; 19 | } 20 | if(charNow == 'b'){ 21 | indexToB = i; 22 | } 23 | if(charNow == 'c'){ 24 | indexToC = i; 25 | } 26 | if(charNow == 'd'){ 27 | indexToD = i; 28 | } 29 | 30 | if(Math.min(indexToA, indexToB) >= 0 && Math.min(indexToC, indexToD) >= 0){ 31 | flag = true; 32 | result = Math.min(result, Math.max(indexToA, Math.max(indexToB, Math.max(indexToC, indexToD))) + 1 - Math.min(indexToA, Math.min(indexToB, Math.min(indexToC, indexToD)))) ; 33 | if (result == 4){ 34 | break; 35 | } 36 | } 37 | 38 | 39 | } 40 | if (flag){ 41 | System.out.println(result); 42 | }else { 43 | System.out.println(-1); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/tasks_2023_3/task3/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_3.task3; 2 | 3 | /* 4 | Проверяем по первому примеру результат должен быть 5 5 | */ 6 | public class Test { 7 | public static void main(String[] args) { 8 | int indexToA = -1, indexToB = -1, indexToC = -1, indexToD =-1; 9 | int n; 10 | char charNow; 11 | boolean flag = false; 12 | n = 12; // размер строки 13 | int result = n; 14 | String str = ("aabbccddbadd"); //сама строка 15 | for (int i = 0; i < n; i++) { 16 | charNow = str.charAt(i); 17 | if(charNow == 'a'){ 18 | indexToA = i; 19 | } 20 | if(charNow == 'b'){ 21 | indexToB = i; 22 | } 23 | if(charNow == 'c'){ 24 | indexToC = i; 25 | } 26 | if(charNow == 'd'){ 27 | indexToD = i; 28 | } 29 | 30 | if(Math.min(indexToA, indexToB) >= 0 && Math.min(indexToC, indexToD) >= 0){ 31 | flag = true; 32 | result = Math.min(result, Math.max(indexToA, Math.max(indexToB, Math.max(indexToC, indexToD))) + 1 - Math.min(indexToA, Math.min(indexToB, Math.min(indexToC, indexToD)))) ; 33 | if (result == 4){ 34 | break; 35 | } 36 | } 37 | } 38 | if (flag){ 39 | System.out.println(result); 40 | }else { 41 | System.out.println(-1); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/tasks_2023_3/task3/task3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2023_3/task3/task3.png -------------------------------------------------------------------------------- /src/tasks_2023_3/task4/Main.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_3.task4; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | import java.util.Scanner; 6 | 7 | public class Main { 8 | public static void main(String[] args) { 9 | Scanner scanner = new Scanner(System.in); 10 | int n = scanner.nextInt(); 11 | int[] a = new int[n]; 12 | int maxTt =0; 13 | Map map1 = new HashMap<>(); 14 | Map map2 = new HashMap<>(); 15 | int result = 2; 16 | for (int i=0; i < n; i++){ 17 | a[i] = scanner.nextInt(); 18 | int t = map1.getOrDefault(a[i], 0) + 1; 19 | map1.put(a[i], t); 20 | int tt = map2.getOrDefault(t, 0) + 1; 21 | if (t > 1 && map2.getOrDefault(t - 1, 0) == 1){ 22 | map2.remove(t-1); 23 | } else if(t > 1){ 24 | map2.put(t - 1, map2.getOrDefault(t - 1, 0) - 1); 25 | } 26 | map2.put(t, tt); 27 | if (t > maxTt){ 28 | maxTt = t; 29 | } 30 | } 31 | 32 | for (int i = n-1; i > 0; i--){ 33 | if((map2.size() == 1) || (map2.size() == 2 && map2.getOrDefault(1, 0) == 1) || (map2.size() == 2 && map2.getOrDefault(maxTt, 0) == 1 && map2.getOrDefault(maxTt -1, 0) != 0)){ 34 | result = i+1; 35 | break; 36 | } 37 | 38 | int t = map1.get(a[i]) - 1; 39 | if (maxTt == t+1 && map2.get(t + 1) == 1){ 40 | maxTt -=1; 41 | } 42 | if(t == 0){ 43 | map1.remove(a[i]); 44 | }else { 45 | map1.put(a[i], t); 46 | } 47 | int tt = map2.get(t+1) - 1; 48 | if (tt == 0){ 49 | map2.remove(t + 1); 50 | }else { 51 | map2.put(t + 1, tt); 52 | } 53 | if (t != 0) { 54 | map2.put(t, map2.getOrDefault(t, 0) + 1); 55 | } 56 | } 57 | 58 | System.out.println(result); 59 | 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/tasks_2023_3/task4/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_3.task4; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | import java.util.Scanner; 6 | 7 | /* 8 | Пробуем проверить пример 2 должно быть 7 9 | */ 10 | public class Test { 11 | public static void main(String[] args) { 12 | int n = 10; 13 | int[] a = {1, 2, 4, 2, 3, 1, 3, 9, 15, 23}; // задаем массив всего 10 14 | int maxTt =0; 15 | Map map1 = new HashMap<>(); 16 | Map map2 = new HashMap<>(); 17 | int result = 2; 18 | for (int i=0; i < n; i++){ 19 | int t = map1.getOrDefault(a[i], 0) + 1; 20 | map1.put(a[i], t); 21 | int tt = map2.getOrDefault(t, 0) + 1; 22 | if (t > 1 && map2.getOrDefault(t - 1, 0) == 1){ 23 | map2.remove(t-1); 24 | } else if(t > 1){ 25 | map2.put(t - 1, map2.getOrDefault(t - 1, 0) - 1); 26 | } 27 | map2.put(t, tt); 28 | if (t > maxTt){ 29 | maxTt = t; 30 | } 31 | } 32 | 33 | for (int i = n-1; i > 0; i--){ 34 | if((map2.size() == 1) || (map2.size() == 2 && map2.getOrDefault(1, 0) == 1) || (map2.size() == 2 && map2.getOrDefault(maxTt, 0) == 1 && map2.getOrDefault(maxTt -1, 0) != 0)){ 35 | result = i+1; 36 | break; 37 | } 38 | 39 | int t = map1.get(a[i]) - 1; 40 | if (maxTt == t+1 && map2.get(t + 1) == 1){ 41 | maxTt -=1; 42 | } 43 | if(t == 0){ 44 | map1.remove(a[i]); 45 | }else { 46 | map1.put(a[i], t); 47 | } 48 | int tt = map2.get(t+1) - 1; 49 | if (tt == 0){ 50 | map2.remove(t + 1); 51 | }else { 52 | map2.put(t + 1, tt); 53 | } 54 | if (t != 0) { 55 | map2.put(t, map2.getOrDefault(t, 0) + 1); 56 | } 57 | } 58 | System.out.println(result); 59 | } 60 | } -------------------------------------------------------------------------------- /src/tasks_2023_3/task4/task4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2023_3/task4/task4.png -------------------------------------------------------------------------------- /src/tasks_2023_3/task5/task5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2023_3/task5/task5.png -------------------------------------------------------------------------------- /src/tasks_2023_3/task6/task6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2023_3/task6/task6.png -------------------------------------------------------------------------------- /src/tasks_2023_3/test/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2023_3.test; 2 | 3 | /* 4 | Проверяем некоторые утверждения 5 | */ 6 | public class Test { 7 | public static void main(String[] args) { 8 | } 9 | } -------------------------------------------------------------------------------- /src/tasks_2023_3/test/test.txt: -------------------------------------------------------------------------------- 1 | Это тестовое задание. 2 | Дается перед задачами на программирование 3 | Буквой (V) обозначаю возможные ответы 4 | Гарантий на правильность нет 5 | (в скобках пишу каменты и непонятки) 6 | 7 | 1. Что выведет следующий код 8 | public class Cat { 9 | String name; 10 | 11 | private static Cat renameCat(Cat cat) { 12 | System.out.print(cat.name); 13 | cat = new Cat(); 14 | cat.name = "Mia"; 15 | return cat; 16 | } 17 | 18 | public static void main(String[] args) { 19 | Cat cat = new Cat(); 20 | cat.name = "Yuna"; 21 | renameCat(cat); 22 | System.out.print(cat.name); 23 | } 24 | } 25 | 26 | - YunaMia 27 | - YunaYuna (V) 28 | - MiaYuna 29 | - Ошибка компиляции 30 | (По поводу метода renameCat: 31 | Return value of the method is never used) 32 | 33 | --- 34 | 35 | 2. Что выведет код 36 | short i1 = Short.MAX_VALUE; 37 | long i2 = Long.MAX_VALUE; 38 | int diff = (short) (i1 - i2); 39 | System.out.println(diff); 40 | 41 | - Значение Short.MIN_VALUE (V) 42 | - Значение Integer.MIN_VALUE 43 | - Значение (Long.VALUE - Short.MAX_VALUE) 44 | - ошибка компиляции 45 | 46 | --- 47 | 48 | 3. Какой класс коллекции лучше использовать для доступа по 49 | индексу элемента 50 | - LinkedList 51 | - ArrayList (V) 52 | - HashSet 53 | - HashMap 54 | 55 | --- 56 | 57 | 4. Какие утверждения про модификаторы доступа верны 58 | - Модификатор доступа по умолчанию на методе дает к нему доступ 59 | подклассу в другом пакете 60 | - Модификатор доступа private дает доступ к членам класса только (V) 61 | в рамках самого класса 62 | - Все члены интерфейса по умолчанию имеют модификатор public (V) 63 | - Модификатор доступа protected дает доступ в рамках (V) 64 | всех класов в пределах одного пакета. 65 | 66 | --- 67 | 68 | 5. Каким будет результат выполнения программы 69 | public class Test { 70 | public static void main(String[] args) { 71 | int k = 5; 72 | for (short i = 0; i < 5; ) { 73 | i++; 74 | if (i % 2 != 0) { 75 | continue; 76 | } 77 | k += 3; 78 | } 79 | System.out.println(k); 80 | } 81 | } 82 | - 8 83 | - 14 84 | - 11 (V) 85 | - ошибка компиляции 86 | 87 | --- 88 | 89 | 6. Что выведет следующий код? 90 | Integer[] ageArray; 91 | try { 92 | String age = "29"; 93 | ageArray = new Integer[]{Integer.parseInt(age)}; 94 | } catch (NumberFormatException nfe) { 95 | System.out.println("Error parsing age"); 96 | } 97 | System.out.println(Arrays.toString(ageArray)); 98 | 99 | - 29 100 | - Ошибка компиляции (V) 101 | - Error parsing age 102 | (Variable 'ageArray' might not have been initialized) 103 | 104 | --- 105 | 106 | 7. Какой метод является переопределенным 107 | - метод, аналогичный существующему методу в классе, но с другим 108 | возвращаемым значением 109 | - метод, аналогичный существующему методу в классе, нос другими параметрами 110 | - метод, аналогичный существующему методу из родительского класса/интерфейса 111 | - ничего из перечисленного (V) 112 | 113 | --- 114 | 115 | 8. Правильно ли определен метод 116 | public final Integer doNothing(int ... numbers, boolean needSum) { 117 | return null; 118 | } 119 | - Да 120 | - Нет (V) 121 | (Vararg parameter must be the last in the list) 122 | 123 | --- 124 | 125 | 9. При условии, что задан класс 126 | 127 | Public class Cat extends Animal { 128 | // .... 129 | } 130 | 131 | что выведет следующий код 132 | 133 | Cat cat = new Cat(); 134 | System.out.println (cat instanceof Animal); 135 | 136 | - true (V) 137 | - false 138 | - ошибка компиляции 139 | 140 | --- 141 | 142 | 10. Может ли ключевое слово static быть применено к определению 143 | внутреннего класса? 144 | 145 | - Да (V) 146 | - Нет 147 | 148 | --- 149 | 150 | 11. Правилен ли код 151 | 152 | List catNames = Arrays.asList("Mira", "Aisha"); 153 | catNames.add("Jico"); 154 | System.out.println(catNames); 155 | - Да, все хорошо 156 | - Нет, ошибка компиляции 157 | - Нет, будет ошибка во время выполнения (V) 158 | 159 | --- 160 | 161 | 12. Что выведет следующий код 162 | List counts = new ArrayList<>(); 163 | counts.add(1); 164 | counts.add(5); 165 | counts.add(8); 166 | counts.add(2); 167 | counts.remove(1); 168 | counts.remove(2); 169 | System.out.println(counts); 170 | 171 | - 5, 8 172 | - 1, 8 (V) 173 | - 1, 5 174 | - 1, 2 175 | 176 | --- 177 | 178 | 13. Каков будет результат выполнения программы 179 | public static void main(String[] args) { 180 | new Thread(() -> System.out.print("Thread 1 ")).start(); 181 | System.out.print("Thread 0 "); 182 | } 183 | - Thread 1 Thread 0 184 | - Thread 0 Thread 1 (V) 185 | - Результат не определен 186 | 187 | --- 188 | 189 | 14. К чему из нижеперечисленного применимо ключевое слово final 190 | Выберите все правильные варианты 191 | 192 | - Класс (V) 193 | - Метод (V) 194 | - Абстрактный класс 195 | - Интерфейс 196 | - Локальная переменная, объявленная в методе (V) 197 | - Статическое поле класса (V) 198 | 199 | --- 200 | 201 | 15. Что выведет следующий код 202 | 203 | String str = "d"; 204 | try { 205 | throw new RuntimeException(); 206 | } catch (Exception e) { 207 | str += "e"; 208 | } finally { 209 | str += "f"; 210 | } 211 | System.out.println(str); 212 | 213 | - df 214 | - def (V) 215 | - de 216 | - ошибка компиляции 217 | 218 | --- 219 | 220 | 16. Что можно вставить на место пропуска, чтобы получить рабочий код 221 | 222 | String str = "d"; 223 | try { 224 | throw new RuntimeException(); 225 | } catch (___________ e) { 226 | str += "e"; 227 | } catch (RuntimeException e) { 228 | str += "f"; 229 | } 230 | System.out.println(str); 231 | 232 | - Throwable 233 | - Error (V) 234 | - Exception 235 | - Ничего из перечисленного 236 | 237 | --- 238 | 239 | 17. Правилен ли следующий код 240 | 241 | Map relations = new HashMap<>(); 242 | relations.put(1, 2); 243 | relations.put(3, 4); 244 | relations.forEach((k, v) -> relations.put(v, k)); 245 | 246 | - Да 247 | - Нет 248 | - Нет, будет ошибка времени выполнения (V) 249 | (ConcurrentModificationException) 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | -------------------------------------------------------------------------------- /src/tasks_2024_3/task1/task1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2024_3/task1/task1.png -------------------------------------------------------------------------------- /src/tasks_2024_3/task2/task2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2024_3/task2/task2.png -------------------------------------------------------------------------------- /src/tasks_2024_3/task3/task3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2024_3/task3/task3.png -------------------------------------------------------------------------------- /src/tasks_2024_3/task4/task4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2024_3/task4/task4.png -------------------------------------------------------------------------------- /src/tasks_2024_3/task5/task5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2024_3/task5/task5.png -------------------------------------------------------------------------------- /src/tasks_2024_3/task6/task6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2024_3/task6/task6.png -------------------------------------------------------------------------------- /src/tasks_2024_3/test/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2024_3/test/1.png -------------------------------------------------------------------------------- /src/tasks_2024_3/test/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YarTsin/tinkoff/aa600246ebba03cfee6a3a49b2e805d34bb3f200/src/tasks_2024_3/test/2.png -------------------------------------------------------------------------------- /src/tasks_2024_3/test/Test.java: -------------------------------------------------------------------------------- 1 | package tasks_2024_3.test; 2 | 3 | /* 4 | Проверяем некоторые утверждения 5 | */ 6 | public class Test { 7 | 8 | } -------------------------------------------------------------------------------- /src/tasks_2024_3/test/test.txt: -------------------------------------------------------------------------------- 1 | Это тестовое задание. 2 | Дается перед задачами на программирование 3 | Буквой (V) обозначаю возможные ответы 4 | Гарантий на правильность нет 5 | (?) - пока не могу проверить 6 | (в скобках пишу каменты и непонятки) 7 | 8 | 9 | 10 | 1. Какие исключения называются проверяемыми (checked) 11 | - Исключения, возникающие на этапе исполнения программы 12 | - Те, которые компилятор требует обрабатывать или декларировать (V) 13 | при помощи trows 14 | - Те, которые можно игнорировать 15 | - Исключения, проверяемые антивирусной программой 16 | 17 | --- 18 | 19 | 2. Что такое демон-поток в Java 20 | - Поток, которые находится на отдельном уровне приоритетов 21 | - Поток, который был запущен чужим кодом 22 | - Поток, который будет выполняться, даже если все остальные (V) 23 | не демон-потоки завершили выполнение 24 | - Поток, который не блокирует завершение программы 25 | - Сканирующая пргограмма, запущенная на сервере для обслуживания 26 | процесса 27 | (не очень понятные описания) 28 | 29 | --- 30 | 31 | 3. Что из следующего является ключевым словом в java 32 | - function 33 | - const 34 | - assert (V) 35 | - includes 36 | (как я понимаю assert - вероятно сейчас уже устарело) 37 | 38 | --- 39 | 40 | 4. Какой метод используется для преобразования строки в число для типов данных, 41 | таких как byte, short, int, long, float, and double 42 | - parseInt 43 | - valueOf (V) 44 | - toNumber 45 | - parseType 46 | (пример: Float.valueOf(String) 47 | 48 | --- 49 | 50 | 5. Какое значение будет у переменной b в результате выполнения кода? 51 | boolean b = (!(true) && (false)); 52 | - true 53 | - false (V) 54 | - null 55 | - 0 56 | 57 | --- 58 | 59 | 6. Что выведет код: 60 | System.out.println(1 + 2 + "3"); 61 | (дана строка для ответа) 62 | Ответ: 33 63 | (если я правильно понимаю сочетание со стринг дает стринг) 64 | 65 | --- 66 | 67 | 7. Что выведет данный код 68 | 69 | public static void main(String[] args) { 70 | var set = new HashSet(); 71 | Random random = new Random(); 72 | for (int i = 0; i < 100; i++) { 73 | set.add(random.nextInt(10)); 74 | } 75 | System.out.println(set.size()); 76 | } 77 | - 0 78 | - 10 (V) 79 | - от 1 до 10 80 | - 9 81 | - ошибка компиляции 82 | - ошибка выполнения 83 | 84 | --- 85 | 86 | 8. Что выведется в консоль в результате работы программы 87 | public static void main(String[] args) { 88 | int a = 10; 89 | change(a); 90 | print(a); 91 | } 92 | static void change(int a) { 93 | a = 20; 94 | } 95 | static void print(int a){ 96 | System.out.println(a); 97 | } 98 | - Ошибка компиляции 99 | - Ошибка выполнения 100 | - 10 (V) 101 | - 20 102 | - 10 или 20 (как повезет) 103 | 104 | --- 105 | 106 | 9. Что будет результатом выполнения программы 107 | public static void main(String[] args) { 108 | List list = new ArrayList<>(); 109 | while (true) { 110 | list.add(new Object()); 111 | } 112 | } 113 | - ошибка компиляции 114 | - ошибка выполнения (V) 115 | - программа будет работать бесконечно 116 | - программа завершится без ошибки 117 | ('while' statement cannot complete without throwing an exception) 118 | (Exception in thread "main" java.lang.OutOfMemoryError: Java heap space) 119 | 120 | --- 121 | 122 | 10. Что будет результатом выполнения программы 123 | 124 | public static void main(String[] args) { 125 | int[] nums = new int[10]; 126 | for (int i = 1; i <= 10 ; i++) { 127 | nums[i] *=2; 128 | } 129 | System.out.println(nums[0]); 130 | } 131 | - Ошибка компиляции 132 | - Ошибка выполнения (V) 133 | - Программа будет работать бесконечно 134 | - Программа завершится без ошибки и ничего не выведет 135 | - Программа завершится без ошибки и выведет 0 136 | (Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 137 | Index 10 out of bounds for length 10) 138 | 139 | --- 140 | 141 | 11. Какая коллекция позволяет хранить объекты в порядке их добавления 142 | 143 | - LinkedHashSet (V) 144 | - ArrayList (V) 145 | - LinkedList (V) 146 | - HashMap 147 | - Stack (V) 148 | - All of the above 149 | (не уверен, но думаю эти) 150 | 151 | --- 152 | 153 | 12. Что выведет данный код 154 | 155 | public class Test { 156 | public static void main(String[] args) { 157 | var map = new HashMap(); 158 | MyKey key = new MyKey(); 159 | map.put(new MyKey(), 1); 160 | map.put(new MyKey(), 2); 161 | map.put(new MyKey(), 3); 162 | map.put(null, 4); 163 | System.out.println("map " + map); 164 | } 165 | class MyKey { 166 | @Override 167 | public int hashCode() { 168 | return 1; 169 | } 170 | @Override 171 | public boolean equals(Object obj) { 172 | return false; 173 | } 174 | @Override 175 | public String toString() { 176 | return "MyKey"; 177 | } 178 | } 179 | - map = {MyKey{}=1, MyKey{}=2, MyKey{}=3} 180 | - map = {nul=4, MyKey{}=1, MyKey{}=2, MyKey{}=3 } 181 | - Ошибка компиляции (V) 182 | - Ошибка выполения 183 | (MyKey key = new MyKey(); 184 | java: non-static variable this cannot be referenced from a static context) 185 | 186 | --- 187 | 188 | 13. Какие из следующих коллекций не могут содержать дубликаты элементов 189 | - new ArrayList() 190 | - new HashSet() (V) 191 | - new LinkedList() 192 | - new TreeSet() (V) 193 | 194 | --- 195 | 196 | 14. Что выведет данный код 197 | public static void main(String[] args) { 198 | Stack stack = new Stack<>(); 199 | stack.push(1); 200 | stack.push(2); 201 | stack.push(3); 202 | 203 | System.out.print(stack.pop()); 204 | System.out.print(stack.pop()); 205 | System.out.print(stack.pop()); 206 | } 207 | (дана строка для ответа) 208 | Ответ: 321 209 | 210 | --- 211 | (?) пока не могу проверить 212 | 213 | 15. Каков результат вызова метода контроллера с использованием 214 | HTTP-запроса: localhost:/map?foo=foo&bar=bar 215 | 216 | @RestController 217 | public class SampleController { 218 | @RequestMapping("/map") 219 | public String map(@RequestParam("bar") String foo, @RequestParam("foo" String bar) { 220 | return bar + foo; 221 | } 222 | } 223 | (дана строка для ответа) 224 | (точно не знаю, пока не могу проверить) 225 | Ответ: barfoo 226 | 227 | --- 228 | 229 | 16. Чем идентифицируется Spring bean 230 | - автоматически сгенерированным UUID 231 | - уникальным строковым именем 232 | - автоувеличивающимся целочисленным ID 233 | - ID, полученным на основе его расположения в памяти 234 | - именем класса (V) 235 | (не уверен правильный ли ответ) 236 | 237 | --- 238 | (?) пока не могу проверить 239 | 240 | 17. Каков результат вызова метода при использовании 241 | следующего HTTP запроса: 242 | Post localhost:8080/map 243 | Body:{"b":"b", "d":"d"} 244 | 245 | @RestController 246 | public class SampleController { 247 | @RequestMapping("/map") 248 | public String map(@RequestBody SampleObject sampleObject) { 249 | return sampleObject.b + sampleObject.c; 250 | } 251 | } 252 | 253 | class SampleObject { 254 | public String b; 255 | public String c; 256 | } 257 | - Во время выполнения возникает исключение InvalidRequestBodyException 258 | - Во время выполнения возникает исключение Missing PropertyException 259 | - В теле ответа возвращается текст "bnull" 260 | - В теле ответа возвращается текст "a" 261 | 262 | --- 263 | 264 | 18. Какой аннотацией помечается класс, чтобы указать, что он является 265 | Spring компонентом и должен быть управляемым контейнером 266 | - @Component (V) 267 | - @Autowired 268 | - @Controller (V) 269 | - @Service (V) 270 | - все 271 | 272 | --- 273 | 274 | 19. Какие строки выведет следующий запрос 275 | (счет начинается с единицы) 276 | SELECT * 277 | FROM table_name 278 | LIMIT 5 OFFSET 15 279 | - c 16 по 20 строку 280 | - с 5 по 15 строку 281 | - с 5 по 20 строку 282 | - с 6 по 15 строку 283 | - с 36 по 40 строку 284 | - ошибка во время выполнения - Limit (V) 285 | не может быть меньше Offset 286 | 287 | --- 288 | (?) пока не могу проверить 289 | 290 | 20. Что покажет следующий запрос 291 | SELECT seller_id, count(*) 292 | from Orders 293 | GROUP BY seller_id 294 | HAVING seller_id IN (2, 4, 6) 295 | - количество продавцов, у которых 2, 4, 6 товаров 296 | - количество заказов сгруппированное по продавцам 2, 4, 6 297 | - ничего, запрос сотавлен неверно, HAVING указывается до группировки 298 | - ничего, запрос сотавлен неверно, для указания условия 299 | должно быть использовано WHERE 300 | 301 | --- 302 | 303 | 21. Какое ключевое слово используется для наследования в Java 304 | - extends (V) 305 | - inherits 306 | - child 307 | - subclass 308 | 309 | --- 310 | 311 | 22. Что произойдет при попытке добавить элемент 312 | в уже заполненный ArrayList 313 | - Выделение дополнительной памяти для массива 314 | - Выделяется новый массив большего размера (V) 315 | - Ошибка во время добавления 316 | 317 | --- 318 | 23. Что выведет данный код 319 | public static void main(String[] args) { 320 | String text = null; 321 | System.out.println(text.length()); 322 | } 323 | - null 324 | - Ошибка выполнения (V) 325 | - Ошибка компиляции 326 | (Exception in thread "main" java.lang.NullPointerException: 327 | Cannot invoke "String.length()" because "text" is null) 328 | 329 | -- 330 | 331 | 24. Что выведет данный код 332 | public static void main(String[] args) { 333 | int yearsMarried = 2; 334 | switch (yearsMarried) { 335 | case 1: 336 | System.out.print("paper "); 337 | case 2: 338 | System.out.print("cotton "); 339 | case 3: 340 | System.out.print("leather "); 341 | default: 342 | System.out.print("I don't gotta buy gifts for nobody"); 343 | } 344 | } 345 | - cotton 346 | - cotton leather 347 | - cotton leather I don't gotta buy gifts for nobody (V) 348 | - cotton I don't gotta buy gifts for nobody 349 | (пока не очень понятно почему такой результат) 350 | 351 | --- 352 | 353 | 25. Что выведет данный код 354 | public static void main(String[] args) { 355 | int x = 10; 356 | int y = 0; 357 | double result = x / y; 358 | System.out.println(result); 359 | } 360 | - null 361 | - 0 362 | - infinite 363 | - Ошибка выполнения (V) 364 | - Ошибка компилляции 365 | (Exception in thread "main" java.lang.ArithmeticException: / by zero) 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | --------------------------------------------------------------------------------