Längste Kette der gleichen Zahlen in einer Zahlenreihe bestimmen

das_popcorn_

Newbie
Registriert
Nov. 2024
Beiträge
1
Hallo zusammen,
ich will ein Programm erstellen, was die Länge der längsten Kette gleicher Zahlen angibt.
Z.B. soll bei 188856 . , die 3 Ausgegeben werden (weil 3x8).

Es wär echt super wenn einer von euch herausfindet, warum es bei mir nicht klappt :D. Bei mir wird nämlich immer 0 ausgegeben.
Ich vermute mein a ist falsch, allerdings hab ich keine bessere Idee...

import java.util.*;

public class LaengsteKette {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int maxCount = 0;

int currentCount = 1;

int a = sc.nextInt();


while (sc.hasNextInt()) {

int i = sc.nextInt(); {

if ( i == a ) {
currentCount++; }

else {
if (currentCount > maxCount) {
maxCount= currentCount ; }

currentCount = 1;
a =i; }
}}

if (currentCount > maxCount) {

maxCount = currentCount;
}
System.out.println(maxCount); sc.close(); } }
 
Python:
import re
a = "188856"
max_occurence = max([max([len(i) for i in re.findall('%s*' % char, a)]) for char in set(a)])

print(max_occurence)  # 3

:p
 
  • Gefällt mir
Reaktionen: iron_monkey, Termy, madmax2010 und eine weitere Person
Mach dir doch Logausgaben oder Debugge zeilenweise. Dann sollte sich der Fehler recht schnell finden lassen.
 
Zurück
Oben