feat(data structures, arrays): contains duplicates#114
Conversation
|
Caution Review failedThe pull request is closed. WalkthroughAdds a sliding-window implementation Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
datastructures/arrays/contains_duplicates/__init__.py (1)
29-58: Consider usingenumeratefor more Pythonic iteration.The implementation is correct, but the loop could be more idiomatic.
Apply this diff to make the code more Pythonic:
- for idx in range(len(nums)): + for idx, num in enumerate(nums): # If we have seen this number before - if nums[idx] in seen: + if num in seen: # Return True return True # Add the current number to the set of seen numbers - seen.add(nums[idx]) + seen.add(num) # If we have seen more than k numbers if len(seen) > k: # Remove the number that is k steps behind the current number seen.remove(nums[idx - k])
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (11)
datastructures/arrays/contains_duplicates/images/solutions/contains_duplicates_ii_solution_1.pngis excluded by!**/*.pngdatastructures/arrays/contains_duplicates/images/solutions/contains_duplicates_ii_solution_10.pngis excluded by!**/*.pngdatastructures/arrays/contains_duplicates/images/solutions/contains_duplicates_ii_solution_11.pngis excluded by!**/*.pngdatastructures/arrays/contains_duplicates/images/solutions/contains_duplicates_ii_solution_2.pngis excluded by!**/*.pngdatastructures/arrays/contains_duplicates/images/solutions/contains_duplicates_ii_solution_3.pngis excluded by!**/*.pngdatastructures/arrays/contains_duplicates/images/solutions/contains_duplicates_ii_solution_4.pngis excluded by!**/*.pngdatastructures/arrays/contains_duplicates/images/solutions/contains_duplicates_ii_solution_5.pngis excluded by!**/*.pngdatastructures/arrays/contains_duplicates/images/solutions/contains_duplicates_ii_solution_6.pngis excluded by!**/*.pngdatastructures/arrays/contains_duplicates/images/solutions/contains_duplicates_ii_solution_7.pngis excluded by!**/*.pngdatastructures/arrays/contains_duplicates/images/solutions/contains_duplicates_ii_solution_8.pngis excluded by!**/*.pngdatastructures/arrays/contains_duplicates/images/solutions/contains_duplicates_ii_solution_9.pngis excluded by!**/*.png
📒 Files selected for processing (5)
DIRECTORY.md(3 hunks)datastructures/arrays/contains_duplicates/README.md(2 hunks)datastructures/arrays/contains_duplicates/__init__.py(1 hunks)datastructures/arrays/contains_duplicates/test_contains_nearby_duplicate.py(1 hunks)tests/datastructures/arrays/test_contains_nearby_duplicate.py(0 hunks)
💤 Files with no reviewable changes (1)
- tests/datastructures/arrays/test_contains_nearby_duplicate.py
🧰 Additional context used
🧬 Code graph analysis (1)
datastructures/arrays/contains_duplicates/test_contains_nearby_duplicate.py (1)
datastructures/arrays/contains_duplicates/__init__.py (2)
contains_nearby_duplicate(5-26)contains_nearby_duplicates_2(29-58)
🪛 LanguageTool
datastructures/arrays/contains_duplicates/README.md
[grammar] ~26-~26: Ensure spelling is correct
Context: ...ums[i] == nums[j] and abs(i - j) <= k. Constrains: - 1 <= nums.length <= 10^3 - -10^3 <= nums...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🪛 markdownlint-cli2 (0.18.1)
DIRECTORY.md
83-83: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
84-84: Unordered list indentation
Expected: 4; Actual: 6
(MD007, ul-indent)
197-197: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
198-198: Unordered list indentation
Expected: 4; Actual: 6
(MD007, ul-indent)
199-199: Unordered list indentation
Expected: 4; Actual: 6
(MD007, ul-indent)
296-296: Unordered list indentation
Expected: 6; Actual: 8
(MD007, ul-indent)
297-297: Unordered list indentation
Expected: 6; Actual: 8
(MD007, ul-indent)
298-298: Unordered list indentation
Expected: 6; Actual: 8
(MD007, ul-indent)
299-299: Unordered list indentation
Expected: 6; Actual: 8
(MD007, ul-indent)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Describe your change:
Adds a new algorithm utilising Sliding window technique to find duplicates in an array which are at most k distance apart.
Checklist:
Fixes: #{$ISSUE_NO}.Summary by CodeRabbit
New Features
Documentation
Chores
✏️ Tip: You can customize this high-level summary in your review settings.