Hallo!
ich habe da mal eine Verständnisfrage. Auf codingbat.com ist mir folgende Aufgabe mit folgender Lösung begegnet:
Aufgabe:
Given an array of ints, return true if .. 1, 2, 3, .. appears in the array somewhere.
array123({1, 1, 2, 3, 1}) → true
array123({1, 1, 2, 4, 1}) → false
array123({1, 1, 2, 1, 2, 3}) → true
Lösung:
Ja, klar es funktioniert. Ich frage mich jetzt aber wie und warum? Würde bei besonders kleinen Feldern
nicht negativ werden? Darf man das (scheinbar ja)? Oder habe ich gerade einen Denkfehler? Ich kann direkt dazu nichts finden, deswegen hoffe ich, dass mir das hier einer erklären kann.
ich habe da mal eine Verständnisfrage. Auf codingbat.com ist mir folgende Aufgabe mit folgender Lösung begegnet:
Aufgabe:
Given an array of ints, return true if .. 1, 2, 3, .. appears in the array somewhere.
array123({1, 1, 2, 3, 1}) → true
array123({1, 1, 2, 4, 1}) → false
array123({1, 1, 2, 1, 2, 3}) → true
Lösung:
Java:
public boolean array123(int[] nums) {
// Note: iterate < length-2, so can use i+1 and i+2 in the loop
for (int i=0; i < nums.length-2; i++) {
if (nums[i]==1 && nums[i+1]==2 && nums[i+2]==3) return true;
}
return false;
}
Ja, klar es funktioniert. Ich frage mich jetzt aber wie und warum? Würde bei besonders kleinen Feldern
Code:
nums.length-2