标签:oracle
DECLARE
TYPE seq_st_tt IS TABLE OF INT;
seq_st seq_st_tt := seq_st_tt(20,-10,-5,-3,5,4,-2,7,40);
tmpsum INT := 0;
maxval INT :=seq_st(1);
spos INT := 1;
epos INT := 1;
nspos INT := 1;
nepos INT := 1;
BEGIN
FOR i IN 1..seq_st.count LOOP
tmpsum := tmpsum + seq_st(i);
IF(tmpsum < 0) THEN
nspos := i + 1;
nepos := i + 1;
tmpsum := 0;
ELSIF(tmpsum >= maxval) THEN
spos := nspos;
epos := nepos;
nepos := nepos + 1;
maxval := tmpsum;
ELSE
nepos := nepos + 1;
END IF;
END LOOP;
dbms_output.put_line(‘the max linear sequence from ‘||spos||‘ to ‘||epos||‘ is ‘||maxval);
END;
本文出自 “welcome” 博客,请务必保留此出处http://friendsforever.blog.51cto.com/3916357/1642428
标签:oracle
原文地址:http://friendsforever.blog.51cto.com/3916357/1642428