package 剑指Offer.第二章数组.和大于或等于k的最短子数组; /** * @program:多线程和IO * @descripton:正整数数组和一个正整数k,数组中和大于或等于k的连续子数组的最短长度是多少? * @若无,返回0; * @author:ZhengCheng * @create:2021/9/26-16:57 **/ public class MinlengthArr { public int minlength(int[] arr ,int k){ int i = 0;//两个指针 int j = 1; int temp = arr.length;//记录个数 int sum = 0; if (arr[i] >= k){ return 1; } while (j < arr.length && i <= j){ sum += arr[j]; if (sum >= k){ if (temp < j-i+1){ temp = j-i+1; } sum -= arr[i++]; }else { j++; } } return temp == arr.length? 0 : temp; } }
剑指offer- 和大于或等于k的最短子数组
最新推荐文章于 2023-12-12 17:06:58 发布