美文网首页数据结构与算法Java篇
寻找和为S的连续正数序列

寻找和为S的连续正数序列

作者: NetCedar | 来源:发表于2018-10-14 18:40 被阅读0次

题目描述
    输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以结果打印出3个连续序列1-5,,4-6和7-8.
问题解法
    定义两个指针small=1; big=2;让两个指针指向的数与之间相加,如果比目标值小就将big加1,如果比目标值大,就将small加1;
代码如下

public class FindContinuousSequence {
    public static ArrayList<ArrayList<Integer>> FindContinuousSequence(int sum) {
        //定义两个标记
        int small=1; //记录小数开始
        int big=2;  //记录大数结束
        int currentSum=small+big;
        ArrayList<ArrayList<Integer>> result=new ArrayList<ArrayList<Integer>>();
        if (sum<3) return result;
        int middl=(sum+1)/2; //循环结束
        while (small<middl){
            //存的值过大,就减小small的值
            while (small<middl&&currentSum>sum){
                currentSum-=small;
                small++;
            }
            //将结果存入链表中
            if (currentSum==sum){
                ArrayList<Integer> item=new ArrayList<Integer>();
                for (int i=small;i<=big;i++){
                    item.add(i);
                }
                result.add(item);
            }
            big++;
            currentSum+=big;
        }


        return result;

    }

 
}

相关文章

  • Java日记2018-05-20

    第一题 和为 S 的连续正数序列 输出所有和为 S 的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从...

  • 寻找和为S的连续正数序列

    题目描述输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5=4...

  • 11-15题

    11、和为S的连续正数序列输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序...

  • 面试题57_2:和为S的连续正数序列

    和为s的连续正数序列 输入一个正数s,打印出所有何为s的连续正数序列(至少含有两个数)。 例如输入15,由于1+2...

  • 和为s的连续整数序列

    找出所有和为S的连续正数序列输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序

  • 4.7 双指针问题(1)

    方法 暂无 注意点 暂无 目录 和为S的连续正数序列(很经典) 和为S的连续正数序列 小明很喜欢数学,有一天他在做...

  • 和为S的连续正数序列

    题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不...

  • 和为S的连续正数序列

    题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并...

  • 和为S的连续正数序列

    题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并...

  • 和为S的连续正数序列

    题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并...

网友评论

    本文标题:寻找和为S的连续正数序列

    本文链接:https://www.haomeiwen.com/subject/qnltzftx.html