题解 | #和为S的连续正数序列#
和为S的连续正数序列
http://www.nowcoder.com/practice/c451a3fd84b64cb19485dad758a55ebe
import java.util.ArrayList;
public class Solution {
public ArrayList<ArrayList<Integer> > FindContinuousSequence(int sum) {
//(首项+首项+项数-1)*项数/2
int tmp_init=0;
ArrayList<ArrayList<Integer> > ans=new ArrayList<>();
for(int i=sum-1;i>1;i--)
{
if(2*sum%i!=0)
continue;
if((2*sum/i-(i-1))%2!=0)
continue;
tmp_init=(2*sum/i-(i-1))/2;
if(tmp_init<=0)
continue;
ArrayList<Integer> tmp=new ArrayList<>();
for(int j=0;j<i;j++)
{
tmp.add(tmp_init+j);
}
ans.add(tmp);
}
return ans;
}
}