Skip to content

Feedback

Abstract

Feedback I got from solving the 48 problems of LeetCode Top Easy.

Generated with love by AI.

What are my main strengths?

  • Your biggest strength is that you usually do reach a correct solution.
  • You repeatedly show good persistence, decent edge-case awareness, and a real habit of reflecting on constraints after feedback.
  • You are especially strong when the core pattern is already in your toolkit.
  • When you recognize the pattern, your final code is often clean and dependable.
  • Good testing habit.

What are my weaknesses?

  • Your main weakness is not correctness but path selection:
    • you often solve the problem with a workable mechanism that is more complicated, slower, or less aligned with the intended invariant than necessary.
    • This shows up as:
      • using Counter where a set or XOR is enough,
      • building custom state machines where a one-pass greedy works,
      • or using recursion and slicing where rolling DP is expected.
    • You also sometimes fight the data structure instead of exploiting it directly,
      • especially in linked lists and trees.
  • A second weakness is incomplete constraint discipline.
    • Several misses came from overlooking in-place, \(O(1)\) space, or overflow requirements even when your logic otherwise worked.
  • Finally, your code sometimes accumulates structural noise:
    • extra variables,
    • redundant checks,
    • ad hoc helpers,
    • or custom traversal machinery that increases proof burden and slows you down.

What are my blind spots?

  • Your main blind spot is that you sometimes treat problems as implementation puzzles before identifying the governing invariant.
  • A second blind spot is underweighting what the prompt is really testing.
    • Many Easy problems are not asking for any correct answer;
      • they are checking whether you spot a canonical pattern under constraints.
  • You also occasionally under-detect when your helper or test setup is itself fragile,
    • especially with tree builders,
    • linked-list constructors,
    • shallow copies,
    • and order-sensitive assertions where order is irrelevant.

What recurring patterns do you see across my attempts?

  • You often begin with a concrete simulation of the process described in the prompt, then later replace it with a more abstract invariant-based solution after feedback.
  • You tend to over-model state:
    • extra containers,
    • custom queues,
    • path histories,
    • transaction objects,
    • or multi-variable control flows where one pointer, one recurrence, or one monotonic condition would do.
  • You regularly produce solutions that are locally reasonable but not globally minimal,
    • which suggests your first instinct is constructive rather than reductive.
  • Your revisions are usually strong
    • once shown the canonical pattern, you adopt it quickly and correctly.
  • Your mistakes cluster around standard interview motifs:
    • in-place mutation,
    • constant-space follow-ups,
    • global tree invariants,
    • linked-list pointer tricks,
    • and DP state compression.

What best thinking process could I adopt to solve these problems faster?

Adopt a fixed five-step process.

  • Classify the problem before coding:
    • array scan,
    • two pointers,
    • hashing,
    • stack,
    • linked-list pointer gap,
    • tree DFS/BFS,
    • binary search on answer or boundary,
    • greedy invariant,
    • or DP recurrence.
  • Extract the constraint signal:
    • in-place,
    • constant space,
    • sorted input,
    • one pass,
    • fixed alphabet,
    • 32-bit bounds,
    • valid BST global rule.
  • Ask what information must be carried forward, and keep only that.
  • State one invariant in plain English before writing code,
    • such as "write points to next kept value" or "min_price is the cheapest so far."
  • Test with the few edge cases that attack the invariant directly.

This process will make you faster because it shifts you from building mechanisms to recognizing patterns, which is exactly what Medium problems demand.