При проверке в идее не пропускает по третьему пункту.
При вводе test - выдает 10 101 115.
Помогите разобраться.
Отредактировал. Проблема осталась с 3им пунктом.
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
reader.close();
FileInputStream inputStream = new FileInputStream(s);
int[] bytes = new int[256];
byte b;
while (inputStream.available() > 0) {
b = (byte) inputStream.read();
bytes[b]++;
}
inputStream.close();
int n = -1;
for (int i = 0; i < bytes.length; i++) {
if (bytes[i] != 0) {
for (int j = 0; j < bytes.length; j++) {
if (bytes[j] != 0 && i != j ) {
if (bytes[i] < bytes[j]) {
n = i;
}else n = j;
}
}
}
}
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < bytes.length; i++) {
if (bytes[n] == bytes[i]) {
list.add(i);
}
}
for (int i = 0; i < list.size(); i++) {
if (list.get(i) > 31)
System.out.print(list.get(i) + " ");
}
}
package com.javarush.task.task18.task1804;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Самые редкие байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
reader.close();
FileInputStream inputStream = new FileInputStream(s);
int[] bytes = new int[256];
byte b;
while (true) {
b = (byte) inputStream.read();
if (b == -1) break;
bytes[b]++;
}
inputStream.close();
int n = -1;
for (int i = 0; i < bytes.length; i++) {
if (bytes[i] != 0) {
for (int j = 0; j < bytes.length; j++) {
if (bytes[j] != 0 && i != j ) {
if (bytes[i] < bytes[j]) {
n = i;
}else n = j;
}
}
}
}
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < bytes.length; i++) {
if (bytes[n] == bytes[i]) {
list.add(i);
}
}
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i) + " ");
}
}
}