Methoden Warum müssen wir "int ans = -1;" hinzufügen?

mervanpolat

Mitglied
Hallo Leute, warum muss ich in static int search Methode die folgende statement hinzufügen?

Java:
int ans = -1;

Wenn es nur als mögliche Antwort dient (so steht das zumindest in der Aufgabenstellung), könnte ich es auch als "int ans = 0;" deklarieren? Aber wenn ich das mache, gibt mir das Programm die folgende Ausgabe :

Screenshot 2022-09-02 at 18.42.11.png
Java:
//https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/

public class FirstAndLastPosition {
    public static void main(String[] args) {
    }

    public int[] searchRange(int[] nums, int target) {

        //If the value is not in range return {-1,-1}
        //0 index: -1 -> start
        //1 index: -1 -> end
        int[] ans = {-1,-1};

        //checking for start value
        int start = search(nums, target, true);
        //checking for end value
        int end = search(nums, target, false);

        //Updating the answer. In other words, updating int[] ans = {-1,-1}
        ans[0] = start;
        ans[1] = end;

        //If the value is not in range return {-1,-1}
        return ans;
    }

    //this function just returns the index value of target
    static int search(int[] nums, int target, boolean findStartIndex) {
        //my potential answer is initially -1
        int ans = -1;
        int start = 0;
        int end = nums.length -1;

        while (start<=end) {
            int mid = start + (end - start) / 2;

            if (target < nums[mid]) {
                end = mid-1;
            } else if (target > nums[mid]) {
                start = mid+1;
            } else {
                //potential ans found
                ans = mid;
                //if more target values are on the left -> end = mid - 1;
                if (findStartIndex == true) {
                    end = mid - 1;
                    //if more target values are on the right -> start = mid + 1;
                } else {
                    start = mid + 1;
                }
            }
        }
        //my potential answer is initially -1
        return ans;
    }
}
 
Beste Antwort
Die Methode macht doch folgendes:
Es wird ein Wert gesucht. Wenn dieser gefunden wurde, wird dieser in der Variablen gespeichert. (ans ist da aber ein schlechter Name - da wäre etwas wie result oder so besser!)

Wenn aber nichts gefunden wird, dann wird ein Ergebnis gebraucht. Was soll denn als Ergebnis dienen, wenn etwas nicht gefunden wurde? Das ist diese -1. (Und an der Stelle sind die Kommentare schlecht. Der Kommentar besagt, dass der Index vom Wert zurückgegeben wird. Das ist aber ungenau. Es wird der Index von dem Wert oder -1 falls der Wert nicht gefunden werden kann, zurück gegeben.

KonradN

Super-Moderator
Mitarbeiter
Die Methode macht doch folgendes:
Es wird ein Wert gesucht. Wenn dieser gefunden wurde, wird dieser in der Variablen gespeichert. (ans ist da aber ein schlechter Name - da wäre etwas wie result oder so besser!)

Wenn aber nichts gefunden wird, dann wird ein Ergebnis gebraucht. Was soll denn als Ergebnis dienen, wenn etwas nicht gefunden wurde? Das ist diese -1. (Und an der Stelle sind die Kommentare schlecht. Der Kommentar besagt, dass der Index vom Wert zurückgegeben wird. Das ist aber ungenau. Es wird der Index von dem Wert oder -1 falls der Wert nicht gefunden werden kann, zurück gegeben.
 
Beste Antwort
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
O Was tut diese Methode? und wie müssen die assertions aussehen? Java Basics - Anfänger-Themen 21
A Die Werte zur Berechnung müssen als Parameter übergeben werden? Java Basics - Anfänger-Themen 7
V Welche Exceptions müssen importiert werden? Java Basics - Anfänger-Themen 3
P Kapselung Variable innerhalb einer inneren Klasse ansprechen ohne ein Objekt erzeugen zu müssen? Java Basics - Anfänger-Themen 6
B Unterklassen von Exeptions müssen importiert werden ? Java Basics - Anfänger-Themen 3
S Doppelpunkte müssen untereinander stehen... Java Basics - Anfänger-Themen 4
G Interfaces - Müssen wirklich alle Methoden implement. werden Java Basics - Anfänger-Themen 8
G Müssen ActionListener + sein Button in einer Klasse liegen? Java Basics - Anfänger-Themen 11
G Müssen globale Funktionen immer "static" sein? Java Basics - Anfänger-Themen 13
E In welches Verzeichnis müssen selbsterstellte Klassen ? Java Basics - Anfänger-Themen 6
F Warum muss ich ein SSL cert immer manuell hinzufügen? Java Basics - Anfänger-Themen 46
E Elemente aus Liste entfernen und hinzufügen Java Basics - Anfänger-Themen 3
F Einem GIT repository ein Projekt hinzufügen Java Basics - Anfänger-Themen 1
J neues Object (JLabel) vorab zum Layout hinzufügen , Location setzen, etc? Java Basics - Anfänger-Themen 2
N Welche Objekte kann man zu einem Set hinzufügen Java Basics - Anfänger-Themen 4
F SSL zu keystore hinzufügen Java Basics - Anfänger-Themen 1
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
I JPA CriteriaBuilder -> Custom SQL hinzufügen Java Basics - Anfänger-Themen 5
J Hinzufügen eines Objektes in ein Objekt-Array Java Basics - Anfänger-Themen 62
M Log4J (v2) nachträglich in allen Klassen hinzufügen Java Basics - Anfänger-Themen 9
B Zu Property Feld weitere Informationen hinzufügen? Java Basics - Anfänger-Themen 4
Soloeco JList/DefaultListModel: Wie kann ich ein Panel hinzufügen? Java Basics - Anfänger-Themen 1
G Druckerauftrag hinzufügen Java Basics - Anfänger-Themen 7
L Methoden ArrayList Werte hinzufügen und löschen Java Basics - Anfänger-Themen 32
C Nachträglich neue grafische Objekte hinzufügen Java Basics - Anfänger-Themen 7
Gaudimagspam Assertions im Programm hinzufügen Java Basics - Anfänger-Themen 4
N Typebound Objekte einer Arraylist hinzufügen Java Basics - Anfänger-Themen 7
J Java TextArea Text bei hinzufügen makieren Java Basics - Anfänger-Themen 1
M Hinzufügen eines Objekts auf ein Map Java Basics - Anfänger-Themen 4
T Collections Methode (Knoten hinzufügen) für Graphen Java Basics - Anfänger-Themen 32
L String zerlegen & elemente hinzufügen Java Basics - Anfänger-Themen 5
B String zu einem bestehenden String hinzufügen Java Basics - Anfänger-Themen 9
S IndexOutOfBoundsException beim hinzufügen eines Elements zu einer Liste Java Basics - Anfänger-Themen 11
AnnaBauer21 org.w3c.dom.Element - Neues Element hinzufügen Java Basics - Anfänger-Themen 4
CptK Datentypen Objekt lässt sich nicht zu arraylist hinzufügen Java Basics - Anfänger-Themen 2
M Wie kann ich hier ein Textfeld hinzufügen Java Swing? Java Basics - Anfänger-Themen 1
J Hinzufügen eines Objekts in eine Liste, um später dann nochmal auf das Objekt zugreifen zu können Java Basics - Anfänger-Themen 8
J mögliche Spielzüge zu Liste hinzufügen Java Basics - Anfänger-Themen 6
L Methoden Methoden hinzufügen?! Java Basics - Anfänger-Themen 1
Orkanson Datentypen Integer in String umwandeln/hinzufügen Java Basics - Anfänger-Themen 3
F Interface JButton von anderer Klasse hinzufügen Java Basics - Anfänger-Themen 2
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
Arif Collections Unkonstruiertes Objekt einer Collection hinzufügen Java Basics - Anfänger-Themen 2
G Wie kann ich einem StringBuilder einen int Wert formatiert hinzufügen? Java Basics - Anfänger-Themen 8
D Hinzufügen einer Site zur Ausnahmeliste nicht möglich Java Basics - Anfänger-Themen 1
O Wert in einer URL hinzufügen (in meinem Beispiel Google) Java Basics - Anfänger-Themen 7
Silvascus Void Methode einem Stringparameter im syso-Befehl hinzufügen Java Basics - Anfänger-Themen 3
L0MiN Erste Schritte Neue Punkte zu einer Map hinzufügen und dauerhaft speichern? Java Basics - Anfänger-Themen 4
I Innerhalb einer Methode suchen und hinzufügen. Neues Objekt in Suche dann? Java Basics - Anfänger-Themen 8
Spencer Reid JavaDoc zu JavaFx hinzufügen Java Basics - Anfänger-Themen 1
J ArrayList<int[]> wird beim hinzufügen von werten komplett überschrieben warum? Java Basics - Anfänger-Themen 1
F Zeile bei JTable hinzufügen Java Basics - Anfänger-Themen 6
J Element zu jList hinzufügen NullPointerExcepetion Java Basics - Anfänger-Themen 2
S JTextField zu ArrayList hinzufügen Java Basics - Anfänger-Themen 3
M JMenuItem per Button hinzufügen Java Basics - Anfänger-Themen 2
K Windows Symbolleiste Icons hinzufügen Java Basics - Anfänger-Themen 7
B Listener beim Laden (deserialize) wieder hinzufügen bzw. mitspeichern? Java Basics - Anfänger-Themen 3
B Neue Bibliothek hinzufügen Java Basics - Anfänger-Themen 2
U Dokumentation einer Library hinzufügen Java Basics - Anfänger-Themen 3
F Swing Applet: mehrere Komponenten hinzufügen Java Basics - Anfänger-Themen 1
Sogomn JLabel in anderer Klasse zum JFrame hinzufügen Java Basics - Anfänger-Themen 2
X Konstante hinzufügen Java Basics - Anfänger-Themen 3
A Fächer hinzufügen Java Basics - Anfänger-Themen 7
G element in ArrayList Hinzufügen Java Basics - Anfänger-Themen 16
J Bei Hinzufügen von JButton Programm langsam Java Basics - Anfänger-Themen 3
M ArrayList-Element hinzufügen u. löschen Java Basics - Anfänger-Themen 2
S Hinzufügen von jid3lib-0.5.4 Java Basics - Anfänger-Themen 3
D Bild zum Panel hinzufügen Java Basics - Anfänger-Themen 8
V Java Libraries Hinzufügen Ubuntu Java Basics - Anfänger-Themen 3
G Element einem Array hinzufügen Java Basics - Anfänger-Themen 7
B Wie kann man auf das JFrame einer anderen Klasse zugreifen, etwas hinzufügen und entfernen?? Java Basics - Anfänger-Themen 3
M Object people[][] Daten hinzufügen Java Basics - Anfänger-Themen 3
Joew0815 Classpath Eclipse - Library hinzufügen (NativeBass) Java Basics - Anfänger-Themen 23
L Vererbung Attributen der Oberklasse Attribute hinzufügen? Java Basics - Anfänger-Themen 3
P Per Button, Linien Hinzufügen und bearbeiten Java Basics - Anfänger-Themen 30
J Punkte hinzufügen Tabelle Java Basics - Anfänger-Themen 5
S Externe Bibliothek zu Resources hinzufügen? Java Basics - Anfänger-Themen 5
M Map mit Vektor: Element hinzufügen Java Basics - Anfänger-Themen 21
A Compiler-Fehler static Array Wert hinzufügen Java Basics - Anfänger-Themen 8
A Threads Zur Laufzeit hinzufügen/entfernen Java Basics - Anfänger-Themen 10
C Variablen array element hinzufügen/entfernen Java Basics - Anfänger-Themen 10
R Bestehendes Array ein Feld hinzufügen Java Basics - Anfänger-Themen 4
I Bestimmte Objekte einer Liste hinzufügen Java Basics - Anfänger-Themen 16
M Jlist Elemente hinzufügen Java Basics - Anfänger-Themen 2
P Nachträglich Klasse zu Package hinzufügen Java Basics - Anfänger-Themen 16
T jar datei Bild hinzufügen Java Basics - Anfänger-Themen 4
S JDom API Doc in eclipse hinzufügen? Java Basics - Anfänger-Themen 2
eLogic Panel hinzufügen Java Basics - Anfänger-Themen 4
S KeyListener aus anderer Klasse hinzufügen Java Basics - Anfänger-Themen 19
P Dropdownbox nach hinzufügen wieder öffnen Java Basics - Anfänger-Themen 7
K jButton zur Laufzeit hinzufügen Java Basics - Anfänger-Themen 22
J String zu String[] hinzufügen Java Basics - Anfänger-Themen 4
M Properties hinzufügen Java Basics - Anfänger-Themen 12
D Buchstaben den jeweiligen Zahlen hinzufügen mit einer if. Java Basics - Anfänger-Themen 6
K Funktion zu einem JButton hinzufügen Java Basics - Anfänger-Themen 27
R Datentypen In String nach String suchen und hinzufügen Java Basics - Anfänger-Themen 2
N Dateiinhalt zu jTextArea hinzufügen Java Basics - Anfänger-Themen 2
A Array ein element hinzufügen. Java Basics - Anfänger-Themen 6
P | zu einer hashtable hinzufügen Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben