30.输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
来源:互联网 发布:mac 照片导出 编辑:程序博客网 时间:2024/04/30 15:27
题目描述:输出所有和为s的连续正数序列?
import java.util.ArrayList;public class Solution { public ArrayList<ArrayList<Integer> > FindContinuousSequence(int sum) { ArrayList<ArrayList<Integer>> lists = new ArrayList<ArrayList<Integer>>(); if(sum<=1){ return lists; } int start = 1; int end = 2; ArrayList<Integer> list = null; while(start!=(sum+1)/2){ int curSum = sumOfList(start,end); if(curSum==sum){ list = new ArrayList<Integer>(); for(int i=start;i<=end;i++){ list.add(i); } lists.add(list); start++; end++; } else if(curSum<sum){ end++; }else{ start++; } } return lists; } public int sumOfList(int start,int end){ int sum = 0; for(int i=start;i<=end;i++){ sum += i; } return sum; }}
import java.util.ArrayList;/**本题的解题思路是:这个问题可以看成是等差数列求和问题,差为1,和就是s*根据高中时候等差数列求和的公式为:数列最后一个数为an=a1+(n-2)*d 数列的和为:sn=n*an+n*(n-1)*d*/public class Solution { public ArrayList<ArrayList<Integer> > FindContinuousSequence(int sum) { }}
阅读全文
0 0
- 30.输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
- 输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
- 输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
- 输出所有和为S的连续正数序列
- 打印所有和为s的连续正数序列
- 找出所有和为S的连续正数序列
- Q411:打印所有和为s的连续正数序列
- 所有和为S的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为s的连续正数序列
- 和为s的连续正数序列
- 和为s的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为S的连续正数序列
- 和为s的连续正数序列
- 如何使用Android Studio开发Gradle插件
- Storm架构和编程模型的总结
- 优化HTML代码
- Mybatis与Hibernate的区别
- gitblit搭建
- 30.输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
- Spring 多数据源连接配置 解决方案
- Ajax轮询,用于检测后台服务是否断开
- HID相关
- cannot find Toolkit in /usr/local/cuda-8.0
- WebService注解
- java swing +串口通信代码
- java实现二叉排序树
- 面向切面编程的作用与实现简介