Лига цифровой экономики
Будет ли работать этот код?
#digitalleague | Подписаться
Будет ли работать этот код?
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
for (String elem : list) {
if (elem.equals("a")) {
list.remove(elem);
}
}
#digitalleague | Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Тинькоф
#tbank | Подписаться
/**
* API поиска авторов и их книг по имени автора (полное ФИО или часть имени в любом регистре).
* Также компонент при каждом поиске обновляет статистику по частоте использования поисковой строки (сбрасывается раз в сутки другой системой)
* При обнаружении популярного запроса (> 1000 запросов в сутки), по которому находится много авторов, отправляется алерт.
* Алерт должен отправляться не более 1 раза за сутки для каждого запроса
* Все классы на самом деле находятся в разных файлах, однако здесь представлены в одном месте для удобства
*/
@RestController
public class AuthorController {
@Autowired
private AuthorSearchService service;
@GetMapping("/authors")
public List<AuthorDto> readAllAuthors(@RequestParam String query) {
List<Author> authors = service.search(query);
return authors.stream().map(el -> {
return new Mapper().map(el);
}).collect(Collectors.toList());
}
}
@Component
public class AuthorSearchService {
@Autowired
private AuthorsRepository authorsRepository;
@Autowired
private StatisticsRepository statisticsRepository;
private AlertRestClient arc = new AlertRestClient();
// В query может быть как полностью ФИО, так и часть имени, например "Вадим Панов" или "панов"
@Transactional
public List<Author> search(String query) {
List<Author> authors = authorsRepository.findByNameContainingIgnoreCase(query);
Statistics s = statisticsRepository.findById(query).orElse(null);
if (s == null) s = new Statistics(query);
s.setNumbers(s.getNumbers() + 1);
statisticsRepository.save(s);
if (s.getNumbers() > 1000 && authors.size() > 1000) {
System.out.println("too popular search with too much data, sending an alert...");
arc.send(query, s.getNumbers(), authors.size());
}
return authors;
}
}
@Entity
@Data
public class Author {
@Id
@GeneratedValue
private Long id;
private String name;
@OneToMany(mappedBy = "author")
private List<Book> books;
public Author(String name) {
this.name = name;
}
}
@Entity
@Data
public class Statistics {
@Id
private String query;
private int numbers;
public Statistics(String query) {
this.query = query;
}
}
@Data
public class AuthorDto {
private Long id;
private String name;
private List<Book> books;
}
@Entity
@Data
public class Book {
private Long id;
private String name;
}
#tbank | Подписаться
This media is not supported in your browser
VIEW IN TELEGRAM
Всех с окончанием рабочей недели)
#fridaymemes
#fridaymemes
Астон
Получить из листа students лист books
#aston | Прислать задачу | Подписаться
Получить из листа students лист books
public class Student {
private String name;
private List<Book> books;
}
List<Student> students;
List<Book> books =
#aston | Прислать задачу | Подписаться
ВКонтакте
#vk | Подписаться
// Нужно написать функцию, которая принимает на вход строку,
// а на выходе возвращает для каждого уникального символа максимальное число его
// беспрерывных повторений.
// Input: aafbaaaaffc
// Output: a:4 b:1 f:2 c:1
class Solution {
public String solve(String input) {
}
}
#vk | Подписаться
Лига цифровой экономики #repeat
Найти первый неповторяющийся элемент
#digitalleague | Подписаться
Найти первый неповторяющийся элемент
int[] arr = {9, 4, 9, 9, -1, 0, 6, 7, 4, 5, -1, 0};
#digitalleague | Подписаться
IT ONE (#repeat)
#itone
public class Main {
//Найти первый неповторяющийся элемент в массиве целых чисел
public static void main(String[] args) {
int[] arr = {9, 4, 9, 6, 7, 4, 5};
int[] arr2 = {9, 4, 9, 6, 6, 4, 5};
System.out.println(nonRepeatable(arr)); //6
System.out.println(nonRepeatable(arr2)); // 5
}
#itone
Please open Telegram to view this post
VIEW IN TELEGRAM
Авито
Напишите функцию генерирующую все возможные правильные скобочные последовательности из n пар скобок.
#avito | Подписаться
Напишите функцию генерирующую все возможные правильные скобочные последовательности из n пар скобок.
#avito | Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM