Skip to content

Commit 946b540

Browse files
authored
feat: add rust solution to lc problem: No.1749 (#1417)
1 parent ece1441 commit 946b540

File tree

3 files changed

+49
-0
lines changed

3 files changed

+49
-0
lines changed

solution/1700-1799/1749.Maximum Absolute Sum of Any Subarray/README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,24 @@ function maxAbsoluteSum(nums: number[]): number {
171171
}
172172
```
173173

174+
### **Rust**
175+
176+
```rust
177+
impl Solution {
178+
pub fn max_absolute_sum(nums: Vec<i32>) -> i32 {
179+
let mut f = 0;
180+
let mut g = 0;
181+
let mut ans = 0;
182+
for x in nums {
183+
f = i32::max(f, 0) + x;
184+
g = i32::min(g, 0) + x;
185+
ans = i32::max(ans, f.max(-g));
186+
}
187+
ans
188+
}
189+
}
190+
```
191+
174192
### **...**
175193

176194
```

solution/1700-1799/1749.Maximum Absolute Sum of Any Subarray/README_EN.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,24 @@ function maxAbsoluteSum(nums: number[]): number {
161161
}
162162
```
163163

164+
### **Rust**
165+
166+
```rust
167+
impl Solution {
168+
pub fn max_absolute_sum(nums: Vec<i32>) -> i32 {
169+
let mut f = 0;
170+
let mut g = 0;
171+
let mut ans = 0;
172+
for x in nums {
173+
f = i32::max(f, 0) + x;
174+
g = i32::min(g, 0) + x;
175+
ans = i32::max(ans, f.max(-g));
176+
}
177+
ans
178+
}
179+
}
180+
```
181+
164182
### **...**
165183

166184
```
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
impl Solution {
2+
pub fn max_absolute_sum(nums: Vec<i32>) -> i32 {
3+
let mut f = 0;
4+
let mut g = 0;
5+
let mut ans = 0;
6+
for x in nums {
7+
f = i32::max(f, 0) + x;
8+
g = i32::min(g, 0) + x;
9+
ans = i32::max(ans, f.max(-g));
10+
}
11+
ans
12+
}
13+
}

0 commit comments

Comments
 (0)