Implement sliding window algorithms for fixed and dynamic sizes with tests (#1765)

* feat: implement sliding window algorithms for fixed and dynamic sizes with tests

* update directory file for sliding windows
This commit is contained in:
Kesavan V
2025-09-04 09:30:02 +05:30
committed by GitHub
parent 1d252d7aca
commit 3f52add84d
5 changed files with 96 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
import { maxSumSubarrayFixed } from '../MaxSumSubarrayFixed'
describe('Fixed-size Sliding Window - maxSumSubarrayFixed', () => {
it('should return the maximum sum of a subarray of size k', () => {
const arr = [2, 1, 5, 1, 3, 2]
const k = 3
const result = maxSumSubarrayFixed(arr, k)
expect(result).toBe(9)
})
it('should throw a RangeError if k is larger than the array length', () => {
const arr = [2, 1, 5]
const k = 4
expect(() => maxSumSubarrayFixed(arr, k)).toThrow(RangeError)
})
it('should throw a RangeError if k is less than 1', () => {
const arr = [2, 1, 5]
const k = 0
expect(() => maxSumSubarrayFixed(arr, k)).toThrow(RangeError)
})
})