wie legt man die elemente der liste k Mal fest ?

wil89

Mitglied
hi ihr,

ich möchte :
dein A array eingabe ist = {3,2,0}
1. ein leeres array erstelen,sag mal es gibt 5 elemente insgesamt,
: mach dann das leere B array mit 5 Spalten,(das ist super ineffizient, aber ich kenn das Algo. so)
2. setze i als dein Listenelemente A Mal in B, zB. 0 setzen in der ersten 3 Spalten, dann 1 in anderen,und kein 2.

Was meint man dazu ? Wie sollte ich Codes schreiben?
Idee<:

du musst ja die Liste traversieren mit for loops , dann if (A>0) B=i;
A--;break;
dann wie setz du nochmal dein Zeiger auf das letzte A Wert ?
Confused.
lg
Wil89
 
Zuletzt bearbeitet:
Ich meine dazu, dass man kein Wort von dem, was du da schreibst, versteht. :bahnhof:

Tut mir leid, möglicherweise bist du ja kein Muttersprachler, aber die Kommunikation erfolgt hier nunmal ausschließelich in Textform, so dass ein gewisses sprachliches Maß erreicht sein muss, damit man dir hier helfen kann. Alternativ gibt es ja auch genügend anderssprachige Foren..
 
otherwise use english to explain your problem 😉
in some cases, were able to understand whats your concrete probelm and could help you to solve it.-
 
wie bitte macht ihr das :
du hast ne liste C mit {2,3,0} Eintrag
C[0]= 2
C[1]= 3
C[2]= 0
Die Liste ist so zu interpretieren :
Ausgabe B
B[1]= 0
B[2]= 0 //2 mal wird 0 ausgedrückt in der Liste
B[3]= 1
B[4]= 1
B[5]= 1 //3 mal 1 und 0 mal 2 in der Liste.
lg
Wil89
 
Zuletzt bearbeitet:
Moin,

wie bitte macht ihr das :
du hast ne liste C mit {2,3,0} Eintrag
C[0]= 2
C[1]= 3
C[2]= 0
Die Liste ist so zu interpretieren :
Ausgabe B
B[1]= 0
B[2]= 0 //2 mal wird 0 ausgedrückt in der Liste
B[3]= 1
B[4]= 1
B[5]= 1 //3 mal 1 und 0 mal 2 in der Liste.

offen gestanden verstehe ich weder den Code noch die Frage/Aufgabe !!
Was genau sollst Du denn machen ???:L

Gruß
Klaus
 
Ich sag mal:

Eine Liste mit Werten: Die "2" liegt auf Index 0. Die "3" liegt auf Index 1.
- Die neue zu generierende Liste soll dann so aufgebaut sein:
Zwei Einträge des Wertes "0". Drei Einträge des Wertes "1".

usw
Mehr oder minder Pseudo code (mit arrays geht das ganze ähnlich):

Code:
List<Integer> c;
List<Integer> b;
int i = 0;
for(int wert : c)
{
  for(int a = 0; a < wert; a++)
  {
    b.add(i);
  }
  i++;
}
 
es geht um Java implementierung an Counting Sort

also wenn du 3,5,1,2,7,7,1 als Array hat
dann
a. mach 1 neues Feld c mit grösse range-1 ,hier 7-1 = 6 :

b. traversiere das Array,wenn du zb. 1 3 finde, erhöhe 3. Spalte von 0 zu 1

Endergebnis von links nach rechts :c[0] im Bezug auf Wert 0+1 = 1 => 2 // 1 taucht in eingabe 2 mal
c[1] im Bezug auf Wert 1+1 =2 => 1 // 2taucht in eingabe1 mal
c[2] = im bzg auf Wert 2+1 = 3 usw => 1
c[3]=> 0
c[4] => 1
c[5] => 0
c[6] => 2


c.und hier kommt das schwere Teil:
schreibe als einzige liste den i als Wert c Mal
zB .c[1]= 1 d.h in der Liste bitte c[1] mal 1+1 schreiben => 1 mal 2 schreiben.
Ergebnis : 1,1,2,3,5,7,7


Idee: schritt c = konkatenieren von arrays ?
while for loops? oder viel lieber hashMap ?

wie sieht das Codes dazu aus ?
lg Wil89
 

Zurück
Oben