Leetcode besser werden?
Hallo ich möchte Leetcode lernen, sprich wie ich Aufgaben zum Beispiel auf Leetcode.com lösen kann hat jemand Erfahrung bzw. ist gut darin. (für mich nicht CodeInterview)
Mein Wissen: Ich habe vor einem Jahr Python gelernt danach C# und nun bin ich an C++ dran. Ich kann die Basics von jedem Thema sprich ich kann zb. OPP aber nicht Vererbung oder die basic Vektoren Methoden wie hinzufügen löschen. Ich habe schon so 10 Aufgaben gelöst aber wenn ich so eine Aufgabe mit einem Baum, LinkedList oder sogar nur so ein Palindrome sehe probiere ich mich reinzudenken schaffe es aber nicht. Habt ihr eine gute Roadmap oder ähnliches? Vielen Dank im Voraus!
2 Antworten
Moin.
Es kommt eher darauf an, worauf Du hinaus willst.
Leetcode usw. vermitteln Dir eher das Verständnis von Algorithmen, währenddessen in der Softwareentwicklung außerdem Dinge, wie Softwarearchitektur, Entwurfsmuster, Ökosysteme, externe Umgebungen und Design-Prinzipien eine Rolle spielen.
Die einzige Möglichkeit besser in etwas zu werden, ist es, sich intensiv damit auseinanderzusetzen.
Leetcode hat tatsächlich recht knifflige Aufgaben. Allerdings würde ich erstmal mit den einfachsten starten und dabei lernen, sich eine gewisse Zeit mit solchen Problemen intensiv auseinanderzusetzen.
Selbst wenn Du dabei nur Teillösungen erarbeitest, oder Dir durch andere Quellen geholfen hast, hatte das vermutlich einen positiven Lerneffekt.
Ich kann Dir in Kombination mit Leetcode auch Codingame empfehlen.
Inwiefern die Probleme nicht verstehen? Also im schlimmsten Fall würde ich mir die Probleme von Englisch zu Deutsch übersetzen lassen oder von einer KI erklären lassen.
Du hast z.B. geschrieben, dass Du die Palindrom-Aufgabe nicht verstehst.
Ein Palindrom ist nichts anderes, als eine Zeichenfolge, die Vorwärts, wie Rückwärts dasselbe ergibt. Also 101 z.B.. 102, dagegen nicht.
Daher, dass die Probleme auf Leetcode eben so unterschiedlich sind, kann ich Dir schwerlich Ressourcen dazu geben.
Liegt es denn wirklich an der Problemstellung, oder an der Codetechnischen Umsetzung?
Nein ich meine mir fehlt bei vielen Aufgaben das Lösungsverständnis. Also ich weiß was ein Palindrome ist habe aber keinen Plan wie umzusetzen.
Dann wunderts mich, warum Du bei Codingame so gut abschneidest. Wie gesagt, üben, üben und üben. Mehr kann ich Dir nicht empfehlen. Oder erstmal kleinere Softwareprojekte, die einen höheren Realitätsbezug aufweisen.
Naja es kommt hier finde ich einfach sehr stark darauf an in welche Richtung das ganze gehen soll.
Leetcode testet weniger deine konkreten Programmierkenntnisse in einer Sprache, sondern deine Problemlösungskompetenz, dein Algorithmenverständnis u.Ä.
In welcher Programmiersprache du das am Ende machst spielt dabei eigentlich keine so große Rolle.
OPP aber nicht Vererbung oder die basic Vektoren
Objektorientierung und Vererbung ist dagegen eher ein Konzept was für den Softwareentwurf entscheidender ist und auf so Krams wie Design-Pattern und sowas hinausläuft.
Sowas ist eher entscheidend wenn es darum geht wie man ein großes System entwirft und aufbaut, Komponenten schreibt usw. Also Softwarearchitektur.
Letzteres ist das was man in der Uni unter "Software Engineering" versteht, also die "wissenschaftliche Herangehensweise" - Insofern hat das ganze auch nur noch begrenzt mit Programmierung zu tun.
Für jemand der einfach Hobbymäßig Programme schreiben will, für den ist es wichtiger ein Verständnis über Programmierkonzepte zu entwickeln und zu wissen wie eine Programmiersprache funktioniert, und dafür braucht man keine Konzepte wie die Objektorientierung.
Insofern, schau dass du Anfängst einfach kleine Projekte zu schreiben die du interessant findest.
I.d.k, aber die meisten fangen damit an irgendwelche 2d-Spiele mit einer GUI-Bibliothek zu entwickeln. Das kannst du auch machen, vielleicht baust du einen Space-Invaders Klon o.Ä.
Wenn du dafür C++ nutzen willst, empfehle ich dir die Bibliothek SFML.
Danke aber das habe ich schon. Ich habe schon viele Projekte gemacht. Ich will aber unbedingt besser werde in diesem Algorithmischen Gebiet .
Ich habe vor einem Jahr Python gelernt danach C# und nun bin ich an C++ dran.
Noch nicht mal Objektorientierung und schon "so viele" Projekte - Was es nicht alles gibt.
Naja, dann empfehle ich dir mal dich mit Algorithmen und Datenstrukturen außeinanderzusetzen.
Danke dir kenne ich schon. Das Problem das ich habe ist ich finde Clash of Code fast alle Aufgaben extrem Leicht. Allerdings schaffe ich auf Leetcode nicht mal Easy. Und man kann ja nicht besser werden wenn man das Problem null versteht. Also glaube ich Theorie ist ebenfalls entscheidend in diesem Thema hättest du da eine Ressource.