Skip to content

Refactor EditDistance iterative and recursive, add tests#1279

Merged
williamfiset merged 1 commit into
masterfrom
refactor-editdistance
Mar 11, 2026
Merged

Refactor EditDistance iterative and recursive, add tests#1279
williamfiset merged 1 commit into
masterfrom
refactor-editdistance

Conversation

@williamfiset

Copy link
Copy Markdown
Owner

Summary

  • Refactor EditDistanceIterative.java: add docs, null checks, simplify loop structure, cross-reference recursive variant
  • Refactor EditDistanceRecursive.java: add docs, make fields private, replace custom min() with Math.min, remove duplicate example
  • Add 14 tests in EditDistanceIterativeTest.java including cross-validation between both solvers

Test plan

  • bazel build //src/main/java/com/williamfiset/algorithms/dp:dp passes
  • bazel test //src/test/java/com/williamfiset/algorithms/dp:EditDistanceIterativeTest — all 14 tests pass

🤖 Generated with Claude Code

EditDistanceIterative:
- Add file-level header, Javadoc, null checks, cross-reference to recursive
- Simplify loop by extracting base cases into explicit initialization
- Replace INF sentinel with clean base case logic
- Add labeled examples in main

EditDistanceRecursive:
- Add file-level header, Javadoc, cross-reference to iterative
- Make fields private
- Replace custom min() varargs with Math.min
- Add inline comments explaining base cases and transitions
- Remove duplicate example in main

Tests:
- Add 14 tests covering null input, empty strings, insertions, deletions,
  substitutions, insert+delete vs substitute tradeoff, single char ops,
  and cross-validation between iterative and recursive solvers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@williamfiset williamfiset merged commit ca0a498 into master Mar 11, 2026
2 checks passed
@williamfiset williamfiset deleted the refactor-editdistance branch March 11, 2026 04:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant