Напишите программу, котора подсчитывает число вхождения слов в файл и выводит их в порядке возрастания. При равенстве числа вхождений, слова должны выводиться в лексикографическом порядке.
This is the house that Jack built.
This is the malt
That lay in the house that Jack built.
This is the rat,
That ate the malt
That lay in the house that Jack built.
This is the cat,
That killed the rat,
That ate the malt
That lay in the house that Jack built.
This is the dog,
That worried the cat,
That killed the rat,
That ate the malt
That lay in the house that Jack built.
15 that
15 the
5 built
5 house
5 is
5 jack
5 this
4 in
4 lay
4 malt
3 ate
3 rat
2 cat
2 killed
1 dog
1 worried
Напишите программу, которая реализует операции с мультимножеством строк:
+ <string>
-- добавить строку;- <string>
-- удалить один экземпляр строки. Если мультимножесто не содержала указанную строку, то оно не изменется;* <string>
-- вывести число вхождений строки в мультимножество;?
-- вывести общее число строк;??
-- вывести число различных строк.
+ Good bye
+ this
+ cruel
+ world
?
??
+ This is
+ very
+ cruel
?
??
- bye
?
- Good bye
- cruel
?
??
4
4
7
6
7
5
5
- Модернизируйте класс Scanner
- добавьте метод
nextDouble()
; - добавьте методы
hasNextDouble()
иhasNextInt()
; - добавьте в конструктор параметр -- список символов-разделителей.
- Реализуйте класс
C.java
- cписок разделителей передается первым аргументом командной строки;
- в файле
c.in
содержатся целые числа и числа с плавающей точкой; - первая строка файла
c.out
должна содержать сумму целых чисел, а вторая -- сумму чисел с плавающей точкой с погрешностью не более1e-10
; - программа должна работать быстро даже при длинном списке разделителей.
123introduction1e-3to7oop
При запуске java C "abcdefghijklmnopqrstuvwxyz"
128
0
При запуске java C "abcdfghijklmnopqrstuvwxyz"
130
0.001
Реализуйте персистентный стек с операциями нахождения минимума и максимума. Все операции со стеком должны выполняться за O(1)
.
Каждая строка входного файла содержит описание одной операции над стеком. В результате выполнения операции создается новая версия стека (возможно, совпадающая со старой), и имеющая номер, соответствующей номеру строки во входном файле. Стек версии 0 -- пустой стек.
Поддерживаемые операции:
+ <version> <value>
-- добавить значение в стек и вывести число элементов;- <version>
-- вывести значение на вершине стека и удалить его;max <version>
-- вывести максимальное значение в стеке;min <version>
-- вывести минимальное значение в стеке.
Гарантируется, что при выполнении операций -
, max
и min
стек не пуст.
Все числа во входном файле целые.
+ 0 10
+ 1 -20
+ 2 30
+ 2 -30
max 3
min 4
max 6
- 4
- 8
min 9
1
2
3
3
30
-30
10
-30
-20
10
CheckD.java и PersistentStack.class
Для того, чтобы протестировать исходную программу:
- Скачайте тесты (CheckA.java) и (CheckB.java) в тот же каталог, где находятся ваши решения.
Решения должны называться
A.java
иB.java
- Откомпилируйте тесты
- Проверьте, что создался
CheckA.class
/CheckB.class
- В каталоге, в котором находится
CheckA.class
выполните командуjava -cp . CheckA