牛客(41)和为S的连续正数序列

//    题目描述
//    小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。
//    但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。
//    没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,
//    你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
//    输出描述:
//    输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序

    public static ArrayList<ArrayList<Integer>> FindContinuousSequence(int sum) {

        ArrayList<ArrayList<Integer>> arrayLists = new ArrayList<ArrayList<Integer>>();
        ArrayList<Integer> arrayList = new ArrayList<Integer>();

        int now = 0;
        for (int start = 1; start < sum / 2+1; start++) {
            now = start;
            arrayList.clear();
            arrayList.add(start);
            for (int j = start+1; j <= sum / 2 +1; j++) {

                now += j;
                arrayList.add(j);
                if (now == sum) {
                    if (arrayList.size()>=2){
                        arrayLists.add(new ArrayList<Integer>(arrayList));
                        break;
                    }
                }else if (now>sum){
                    break;
                }
            }
        }
        return arrayLists;
    }

原文地址:https://www.cnblogs.com/kaibing/p/9055270.html

时间: 2024-10-10 22:31:44

牛客(41)和为S的连续正数序列的相关文章

41和为S的连续正数序列

题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22.现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描述: 输出所有和为S的连续正数序列.序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序 类似于上一题的夹逼 1 import ja

C++输出所有和为S的连续正数序列(牛客剑指offer)

////////////////////////////////////////////////////////////////////////// //小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和, //他马上就写出了正确答案是100. //但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数). //没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22. //现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列?

和为S的连续正数序列——牛客网(剑指offer)

题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22.现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描述: 输出所有和为S的连续正数序列.序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序 题目链接 https://www.nowc

[剑指Offer]41 和为S的两个数字 VS 和为S的连续正数序列

[剑指Offer]41 和为S的两个数字 VS 和为S的连续正数序列 Leetcode T1 Two Sum Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the s

41、和为S的连续正数序列

一.题目 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22.现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 二.解法 1 import java.util.ArrayList; 2 public class Solution { 3 public Ar

剑指Offer面试题41(Java版):和为s的两个数字VS和为s的连续正数序列

题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s.如果有多个数字的和等于s,输出任意一对即可. 例如输入数组{1,2,4,7,11,15}和数字15.由于4+11=15,因此输出4和11. 在面试的时候,很重要的一点是应聘者要表现出很快的反应能力.只要想到一个办法,应聘者就可以立马告诉面试官,即使这个办法不一定是最好的.比如这个问题,很多人会立即能想到O(n2)的方法,也就是先在数组中固定一个数字,再依次判断数组中其余n-1个数字与它的和是不是等于s.面试官会

剑指Offer--041-和为S的连续正数序列

链接 牛客OJ:和为S的连续正数序列 九度OJ:http://ac.jobdu.com/problem.php?pid=1354 GitHub代码: 041-和为S的连续正数序列 CSDN题解:剑指Offer–041-和为S的连续正数序列 牛客OJ 九度OJ CSDN题解 GitHub代码 041-和为S的连续正数序列 1354-和为S的连续正数序列 剑指Offer–041-和为S的连续正数序列 041-和为S的连续正数序列 题意 题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~

和为S的两个数字VS和为S的连续正数序列

题目:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s.如果有多对数字的和等于s,输出任意一对即可. 思路:最初我们找到数组的第一个数字和最后一个数字.首先定义两个指针,第一个指针指向数组的第一个(也就是最小的)数字,第二个指针指向数组的最后一个(也就是最大的)数字.当两个数字的和大于输入的数字时,把较大的数字往前移动:当两个数字的和小于数字时,把较小的数字往后移动:当相等时,打完收工.这样扫描的顺序是从数组的两端向数组的中间扫描. #include "stdafx.

九度 和为S的连续正数序列

题目1354:和为S的连续正数序列 时间限制:2 秒 内存限制:32 兆 特殊判题:否 提交:2008 解决:622 题目描述: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22.现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输入: 输入有多组数据.