Zliczanie duplikatów

Zliczanie duplikatów
0

Witam

Jak najszybciej znalez wszystkie duplikaty poznajac ich pozycje?

Np:

zmienna = "AJHFHJAMGBGYGBTDYAHHBBB"

jak otrzymac z tego jakas tablice w ktorej beda duplikaty, oraz infomacja o ich pozycji?

np

A = 1,7,18
J = 2 6
H = 3,5,19,20

itd

Chodzi o nie skomplikowany alorytm i wydajny?

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Język? Znając życie pewnie C++

Kopiuj
#include <list>
#include <iterator>
#include <map>
#include <iostream>
using namespace std;

class Item{
  private:
    list<int> positions;
    int counter;
  public:
    Item():counter(0){}
    void increment(int position){
      positions.push_back(position);
      counter++;
    }
    void print(){
      list<int>::iterator it;
      for(it=positions.begin(); it!=positions.end();it++){
        cout<<*it<<" ";
      }
      cout<<endl;
    }
};

int main(){
  map<char,Item> mapa;
  string zmienna = "AJHFHJAMGBGYGBTDYAHHBBB";
  for(unsigned int i=0;i<zmienna.length();i++){
    mapa[zmienna[i]].increment(i);
  }
  map<char,Item>::iterator it;
  for(it=mapa.begin(); it!=mapa.end();it++){
    cout<<it->first<<" = ";
    it->second.print();
  }
  return 0;
}

"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
0

Dziekuje pięknie

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.