题解 | #和为S的连续正数序列#

和为S的连续正数序列

http://www.nowcoder.com/practice/c451a3fd84b64cb19485dad758a55ebe

滑动窗口,一开始自己没写对,看了看其他大佬的

import java.util.ArrayList;
public class Solution {
    public ArrayList<ArrayList<Integer> > FindContinuousSequence(int sum) {
       ArrayList<ArrayList<Integer>> res = new ArrayList<>();
       int slow = 1,fast = 2;
       while(fast > slow){
           int curSum = (slow + fast)*(fast-slow+1)/2;
           if(curSum == sum){
              ArrayList<Integer> save = new ArrayList<>();
              for(int i = slow;i <= fast;i++){
                  save.add(i);
              }
              res.add(save);
              slow++;
           }else if(curSum < sum){
              fast++;
           }else{
              slow++;
           }
       }
       return res;
    }
}
全部评论

相关推荐

头像
11-07 01:12
重庆大学 Java
精致的小松鼠人狠话不多:签哪了哥
点赞 评论 收藏
分享
10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务