Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save SuryaPratapK/5fd36fb5ddea9f44a7389acb8033beff to your computer and use it in GitHub Desktop.
Save SuryaPratapK/5fd36fb5ddea9f44a7389acb8033beff to your computer and use it in GitHub Desktop.
class Solution {
#define ll long long
public:
int numberOfArrays(vector<int>& differences, int lower, int upper) {
ll gap = 0;
ll min_val = 0;
ll max_val = 0;
ll curr_val = 0;
for(int& ele: differences){
curr_val += ele;
min_val = min(min_val,curr_val);
max_val = max(max_val,curr_val);
}
int count = (upper-lower) - (max_val-min_val) + 1;
return count>0? count : 0;
}
};
/*
//JAVA
class Solution {
public int numberOfArrays(int[] differences, int lower, int upper) {
long gap = 0;
long min_val = 0;
long max_val = 0;
long curr_val = 0;
for (int ele : differences) {
curr_val += ele;
min_val = Math.min(min_val, curr_val);
max_val = Math.max(max_val, curr_val);
}
long count = (upper - lower) - (max_val - min_val) + 1;
return count > 0 ? (int) count : 0;
}
}
#Python
class Solution:
def numberOfArrays(self, differences: List[int], lower: int, upper: int) -> int:
min_val = 0
max_val = 0
curr_val = 0
for ele in differences:
curr_val += ele
min_val = min(min_val, curr_val)
max_val = max(max_val, curr_val)
count = (upper - lower) - (max_val - min_val) + 1
return count if count > 0 else 0
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment