@@ -70,13 +70,76 @@ Thus, we return 4.
70
70
### ** Python3**
71
71
72
72
``` python
73
-
73
+ class Solution :
74
+ def numberOfArrays (self , differences : List[int ], lower : int , upper : int ) -> int :
75
+ num = mi = mx = 0
76
+ for d in differences:
77
+ num += d
78
+ mi = min (mi, num)
79
+ mx = max (mx, num)
80
+ return max (0 , upper - lower - (mx - mi) + 1 )
74
81
```
75
82
76
83
### ** Java**
77
84
78
85
``` java
86
+ class Solution {
87
+ public int numberOfArrays (int [] differences , int lower , int upper ) {
88
+ long num = 0 , mi = 0 , mx = 0 ;
89
+ for (int d : differences) {
90
+ num += d;
91
+ mi = Math . min(mi, num);
92
+ mx = Math . max(mx, num);
93
+ }
94
+ return Math . max(0 , (int ) (upper - lower - (mx - mi) + 1 ));
95
+ }
96
+ }
97
+ ```
98
+
99
+ ### ** C++**
100
+
101
+ ``` cpp
102
+ class Solution {
103
+ public:
104
+ int numberOfArrays(vector<int >& differences, int lower, int upper) {
105
+ long long num = 0, mi = 0, mx = 0;
106
+ for (int& d : differences)
107
+ {
108
+ num += d;
109
+ mi = min(mi, num);
110
+ mx = max(mx, num);
111
+ }
112
+ return max(0, (int) (upper - lower - (mx - mi) + 1));
113
+ }
114
+ };
115
+ ```
79
116
117
+ ### **Go**
118
+
119
+ ```go
120
+ func numberOfArrays(differences []int, lower int, upper int) int {
121
+ num, mi, mx := 0, 0, 0
122
+ for _, d := range differences {
123
+ num += d
124
+ mi = min(mi, num)
125
+ mx = max(mx, num)
126
+ }
127
+ return max(0, upper-lower-(mx-mi)+1)
128
+ }
129
+
130
+ func max(a, b int) int {
131
+ if a > b {
132
+ return a
133
+ }
134
+ return b
135
+ }
136
+
137
+ func min(a, b int) int {
138
+ if a < b {
139
+ return a
140
+ }
141
+ return b
142
+ }
80
143
```
81
144
82
145
### ** TypeScript**
0 commit comments