I asked ChatGPT to solve leetcode hard DP problems. The results were well, interesting ...
I started with Frog Jump and the results were promising. Frog Jump is a classic DP problem that is solved by memoization and backtracking. ChatGPT produced python code that could easily be ported into leetcode.
The solution had a trivial bug but passed most testcases. Given the signature of the helper recursive function, def
the initial call should have been
canCrossHelper(position, jump)
canCrossHelper(0,0)
and not canCrossHelper(0,1)
. After fixing the bug, the solution was faster than 90+% of Python solutions. Not bad.
I then tried something more convoluted, Count ways to make array with product. This is a complex problem that applies prime factorization and combinatorics on top of DP techniques. The results were less than stellar.
It produced a DP solution with recurrence relation
= (dp[i - 1][j] + dp[i - 1][j - 1])
``` which only sounds correct, but is infact wrong. Even after prompting to revise the solution, nothing fundamental changed.
These cases told me all I needed to know about interviewing with AI. Errors are to be expected since AI is only as good as the training data. ChatGPT already has the disclaimer in the footnote `ChatGPT can make mistakes. Consider checking important information.` Here is the [link](https://chat.openai.com/share/6ed19f25-3184-4e6c-90f8-10bf3df81860) to the full chat.
A candidate could have some success from asking ChatGPT in a live interview, essentially cheating. Or they could master algorithms with confidence. A resource I recommend to is [Ace the technical interviews courses](https://leanpub.com/c/acethetechnicalinterviewbitsedition2), DP course coming soon. They help you build intuition around algorithmic techniques and reduce time to optimal solution. I'm biased because I wrote them but they free at the moment and feedback is welcome.
Top comments (0)