/**
* Problem: LeetCode 3364 - Minimum Positive Sum Subarray
* Difficulty: Easy
* Language: Java
* Author: CodeByTushu
*/
import java.util.List;
class Solution {
public int minimumSumSubarray(List<Integer> nums, int l, int r) {
int n = nums.size();
int ans = Integer.MAX_VALUE;
for (int i = 0; i < n; i++) {
int sum = 0;
for (int j = i; j < n; j++) {
sum += nums.get(j);
int len = j - i + 1;
if (len > r) break;
if (len >= l && sum > 0) {
ans = Math.min(ans, sum);
}
}
}
return ans == Integer.MAX_VALUE ? -1 : ans;
}
}
"""
Problem: LeetCode 3364 - Minimum Positive Sum Subarray
Difficulty: Easy
Language: Python 3
Author: CodeByTushu
"""
from typing import List
class Solution:
def minimumSumSubarray(self, nums: List[int], l: int, r: int) -> int:
n = len(nums)
ans = float("inf")
for i in range(n):
cur_sum = 0
for j in range(i, n):
cur_sum += nums[j]
length = j - i + 1
if length > r:
break
if length >= l and cur_sum > 0:
ans = min(ans, cur_sum)
return -1 if ans == float("inf") else int(ans)
/**
* Problem: LeetCode 3364 - Minimum Positive Sum Subarray
* Difficulty: Easy
* Language: C++
* Author: CodeByTushu
*/
#include <vector>
#include <algorithm>
#include <climits>
class Solution {
public:
int minimumSumSubarray(std::vector<int>& nums, int l, int r) {
int n = static_cast<int>(nums.size());
int ans = INT_MAX;
for (int i = 0; i < n; ++i) {
int sum = 0;
for (int j = i; j < n; ++j) {
sum += nums[j];
int len = j - i + 1;
if (len > r) break;
if (len >= l && sum > 0) {
ans = std::min(ans, sum);
}
}
}
return ans == INT_MAX ? -1 : ans;
}
};
/**
* Problem: LeetCode 3364 - Minimum Positive Sum Subarray
* Difficulty: Easy
* Language: JavaScript
* Author: CodeByTushu
*/
/**
* @param {number[]} nums
* @param {number} l
* @param {number} r
* @return {number}
*/
var minimumSumSubarray = function(nums, l, r) {
const n = nums.length;
let ans = Infinity;
for (let i = 0; i < n; i++) {
let sum = 0;
for (let j = i; j < n; j++) {
sum += nums[j];
const len = j - i + 1;
if (len > r) break;
if (len >= l && sum > 0) {
ans = Math.min(ans, sum);
}
}
}
return ans === Infinity ? -1 : ans;
};