【题目】输出所有和为S的连续正数序列。序列为:1,2,3,4,5,6,7,8.。。。。。。。。。。。。。。。
* 序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序

 package com.exe9.offer;

 /**
* 【题目】输出所有和为S的连续正数序列。序列为:1,2,3,4,5,6,7,8.。。。。。。。。。。。。。。。
* 序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
* @author WGS
*
*/
import java.util.ArrayList;
public class FindTotalContinuousSequence { public ArrayList<ArrayList<Integer>> getSequenceEqualS(int s){ ArrayList<ArrayList<Integer>> list=new ArrayList<ArrayList<Integer>>();
if(s<3) return list; int small=1;
int big=2;
int mid=(1+s)/2;
int sum=small+big; while(small<mid){
ArrayList<Integer> numList=new ArrayList<Integer>();
if(sum==s){
/*for(int i=small;i<=big;i++){
numList.add(i);
}*/
add(small,big,numList);
}
while(sum>s && small<mid){
sum-=small;
small++;
if(sum==s){
/*for(int i=small;i<=big;i++){
numList.add(i);
} */
add(small,big,numList);
}
}
//此时sum>s 跳出while循环,进入到下面步骤
//sum>s
if(numList.size()>0)
list.add(numList);
big++;
sum+=big; } return list; } private void add(int small,int big,ArrayList<Integer> numList){
for(int i=small;i<=big;i++){
numList.add(i);
}
}
public static void main(String[] args) {
FindTotalContinuousSequence f=new FindTotalContinuousSequence();
ArrayList<ArrayList<Integer>> list=f.getSequenceEqualS(15);
for(ArrayList<Integer> l:list){
System.out.println(l);
}
//System.out.println();
} }

剑指offer系列46---和为s的连续正数序列的更多相关文章

  1. 剑指 Offer 57 - II. 和为s的连续正数序列 + 双指针 + 数论

    剑指 Offer 57 - II. 和为s的连续正数序列 Offer_57_2 题目描述 方法一:暴力枚举 package com.walegarrett.offer; /** * @Author W ...

  2. 力扣 - 剑指 Offer 57 - II. 和为s的连续正数序列

    题目 剑指 Offer 57 - II. 和为s的连续正数序列 思路1(双指针/滑动窗口) 所谓滑动窗口,就是需要我们从一个序列中找到某些连续的子序列,我们可以使用两个for循环来遍历查找,但是未免效 ...

  3. 剑指offer四十一之和为S的连续正数序列

    一.题目   题目描述:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数 ...

  4. 剑指 Offer 57 - II. 和为s的连续正数序列

    本题 题目链接 题目描述 我的题解 方法三双100%, 方法一 适合范围广 方法一:双指针(也叫 滑动窗口) 思路分析 用两个指针i和表示当前枚举到的以i为起点,j为终点的区间,sum表示[i,j]的 ...

  5. 剑指offer系列19--栈的压入、弹出序列

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序 ...

  6. 剑指offer41:所有和为S的连续正数序列,例如,有多少种连续的正数序列的和为100

    1 题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久 ...

  7. 干货 | 剑指offer系列文章汇总

    下面是名企面试中经常会出现的面试题目,大家可以戳相应的题目查看题目细节,其答案会在紧接着的后一篇中出现  剑指offer系列  始 剑指offer—灯管问题(1)  剑指offer—10人电梯(2)  ...

  8. 剑指offer(13)-栈的压入、弹出序列 九度1366

    题目来自剑指offer系列 九度 1366:http://ac.jobdu.com/problem.php?pid=1367 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列 ...

  9. 《剑指offer》二叉搜索树的后序遍历序列

    本题来自<剑指offer> 二叉搜索树的后序遍历序列 题目: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字 ...

  10. 剑指Offer:二叉搜索树的后序遍历序列【33】

    剑指Offer:二叉搜索树的后序遍历序列[33] 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. ...

随机推荐

  1. UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128) 解决办法

    最近在用Python处理中文字符串时,报出了如下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ...

  2. python 处理异常

    try: ...(主要动作,试着执行的程序代码,如果引发异常,执行第一个复合引发异常的except下面的语句.如果没有符合的,就会终止程序,打印出错!) except name:(except 分句的 ...

  3. JSON日期格式处理

    protected static SerializeConfig mapping = new SerializeConfig(); private static String dateFormat; ...

  4. URAL(timus)1709 Penguin-Avia(并查集)

    Penguin-Avia Time limit: 1.0 secondMemory limit: 64 MB The Penguin-Avia airline, along with other An ...

  5. 科普:浅谈 Hellinger Distance

    浅谈 Hellinger Distance 2016.05.24 最近在看 Hellinger Distance(海林格距离), 平时看多了欧式距离,马氏距离等等,貌似介绍这个的材料不是很多,例如:维 ...

  6. caffe matlab 借口怎么提取灰度图的 feature ? What happened if I mixed the color images with gray images together for training ?

    1. caffe matlab 接口提供了提取feature的脚本,但是由于中间要对这些图像进行RGB ---> BGR 的变换,卧槽,灰度图没有三通道啊?怎么破?从上午就在纠结怎么会跑着跑着程 ...

  7. Intel指令集专有词解释

    SSE 概述 SSE(Streaming SIMD Extensions)是英特尔在AMD的3D Now!发布一年之后,在其计算机芯片Pentium III中引入的指令集,是MMX的超集.AMD后来在 ...

  8. DATA GUARD架构(一)

    Data Guard传输-应用架构.>图1-1 ------------------------------------------------------------ 重做传输架构>图1 ...

  9. MySQL删除重复记录只保留一条

    删除表中重复记录,只保留一条: delete from 表名 where 字段ID in (select * from (select max(字段ID) from 表名 group by 重复的字段 ...

  10. Uinty3d 镜面反射代码

    镜面反射代码 文件名MirrorReflection.cs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 ...