剑指offer(二十二)之和为S的连续正数序列
2016-04-22 18:50
363 查看
题目描述
小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
输出描述:
输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
代码:
小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
输出描述:
输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
代码:
<span style="font-family:SimSun;font-size:18px;">import java.util.ArrayList; public class Solution { public ArrayList<ArrayList<Integer> > FindContinuousSequence(int sum) { ArrayList list=new ArrayList(); ArrayList list2=new ArrayList(); if(sum==1){ return list; } int len=sum/2+1; int result=0; for(int i=1;i<=len;i++){ for(int j=i;j<=len;j++){ result+=j; if(result==sum){ ArrayList list3=new ArrayList(); for(int z=i;z<=j;z++){ list3.add(z); } list.add(list3); } } result=0; } return list; } }</span>
相关文章推荐
- 看到两篇不错的jstack分析文章
- JSON快速入门指南
- QT自定义对象导入JavaScript脚本使用
- 轻量级的储存:SharedPreferences的一个例子
- css复习 - 伪类,伪元素
- js 日常问题记录
- 前端性能优化-减少重绘
- Understand JavaScript’s “this” With Clarity, and Master It
- javascript基础九(知识点类对象的引用)
- jQuery triger与trigerHandler的区别
- 【前端】输入框中根据用户输入内容动态查询
- [JS教程] input checkbox 用js实现全选/不选
- JS内存泄漏排查方法(Chrome Profiles)
- Gson 与 fastJson 的使用
- 解决C:\fakepath路径加密问题,图片上传之前的预览功能的实现,html5 实现图片预览功能
- 移动web学习--淘宝 flexible.js
- Jquery自动生成当前年份日期筛选框
- js数组去重
- js Cookie总结
- jquery完成图片的隐藏和显示