A programming technique used in lists and strings involving contiguous sequences. Previous windows are used in the computations of subsequent windows. Uses time complexity