2016-11-12 2 views
-1

У меня есть файл с 1000 символами. Я прочитал этот файл и сохранил его в строке. Сейчас: У меня есть строка строка с 1000 символов У меня есть полукокс [] письмо с длиной str.chars() различен() COUNT() - количество уникальных символов в моей строкеJava-массивы, различие и сортировка

мне нужно.. хранить каждый уникальный символ от моей строки String до моего массива char - буквы Мне также нужно сохранить частоту каждого символа из String str где-то. Это может быть другой массив.

Индекс каждого элемента в массиве букв должен быть таким же, как индекс частоты этого элемента в частотном массиве.

После этого мне нужно сохранить все данные из обоих массивов в очереди приоритетов. Данные должны быть отсортированы с наименьшим значением в верхнем узле.

Для первой части вы предлагаете мне использовать массивы? Если да, то как подойти с этим подсчетом, а затем как сортировать оба массива относительно частотного массива, где я хранил частоту?

Сложность времени также важна.

+0

Вы пробовали что-нибудь? – ItamarG3

+0

просто попробуйте что-нибудь, попробуйте один пример, а затем попытайтесь улучшить его производительность и т. Д. – luk2302

+0

да - [ссылка] (http://pastebin.com/75fX5irY) @ItamarGreen Я не уверен, как подойти в петли –

ответ

0

Я бы не сделал это с помощью массивов. В Java есть хорошая библиотека для коллекций, которую вы можете использовать вместо массивов. Этот код не эффективен, но он показывает идею.

HashMap<Character,Integer> map = new HashMap<Character,Integer>(); 

    //iterate over your chars 
    for(char c : myString.toCharArray()) 
    { 
     Character character = new Character(c); 
     if(map.containsKey(character)) 
     { 
      map.put(character, new Integer(map.get(character).intValue()+1)); 
     }else 
     { 
      map.put(character, new Integer(1)); 
     } 
    } 
+0

Честно говоря, после битвы некоторое время я делал очень похожее использование HashMap. Теперь я реализовал Queap Priority Queue, который идеально подходит для моих требований, но я не знаю, как добавить объект из HashMap в этот PQ –