Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use HashSet for error deduplication (#6268)
## Description Optimization Explanation - Using HashSet to track seen elements simplifies the code logic. - Using the retain method directly filters out duplicate elements in place, avoiding the complexity of manually managing indices and swapping elements. - The code is more concise and readable while maintaining the original order. - Time complexity comparison: Original code: Due to the need to manually manage indices and swap elements, the time -complexity is O(n^2) (in the worst case). Optimized code: Using HashSet and the retain method, the time complexity is O(n). - Space complexity comparison: Original code: Requires additional HashMap and SmallVec to store hash values and indices. Optimized code: Only requires a HashSet to store seen elements. ## Checklist - [ ] I have linked to any relevant issues. - [ ] I have commented my code, particularly in hard-to-understand areas. - [ ] I have updated the documentation where relevant (API docs, the reference, and the Sway book). - [ ] If my change requires substantial documentation changes, I have [requested support from the DevRel team](https://github.com/FuelLabs/devrel-requests/issues/new/choose) - [ ] I have added tests that prove my fix is effective or that my feature works. - [ ] I have added (or requested a maintainer to add) the necessary `Breaking*` or `New Feature` labels where relevant. - [x] I have done my best to ensure that my PR adheres to [the Fuel Labs Code Review Standards](https://github.com/FuelLabs/rfcs/blob/master/text/code-standards/external-contributors.md). - [x] I have requested a review from the relevant team or maintainers. --------- Co-authored-by: IGI-111 <igi-111@protonmail.com>
- Loading branch information