码迷,mamicode.com
首页 > 其他好文 > 详细

HackerRank-Longest Subarray

时间:2016-09-30 01:54:47      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

give an array and target value, find the max length of the subarray which sum of the elements is less or equal to that value. 

 

 

    public int longestSubArray(int[] a, int k){
        if(a==null || a.length==0){
            return 0;
        }
        int max=0;
        int len=a.length;
        for(int i=0; i<len; i++){
            int start=a[i];
            if(start >= k){
                if(max<1){
                    max=1;
                }
            }
            else{
                int sum=start;
                for(int j=i+1; j<len; j++){
                    sum=sum+a[j];
                    if(sum>k){
                        if(max<(j-i)){
                            max=j-i;
                        }
                        break;
                    }
                    
                    if(sum <= k && j==(len-1)){
                        if(max<(j-i+1)){
                            max=j-i+1;
                        }
                    }
                }
            }
        }
        return max;
    }

 

HackerRank-Longest Subarray

标签:

原文地址:http://www.cnblogs.com/incrediblechangshuo/p/5922378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!