├── .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 |
--------------------------------------------------------------------------------