# input: a[0..N) array of integers, N>=0, and S## output: is there a subarray of a[0..N) whose sum is S?## O(NS) time and O(S) space solutiondefss_tab_opt(a,S):N=len(a)tab=[s==0forsinrange(S+1)]n,s=1,Swhilen!=N+1:ifs==-1:n,s=n+1,Selse:iftab[s]==Falseanda[n-1]<=s:tab[s]=tab[s-a[n-1]]s-=1returntab[S]
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.