Skip to content

Commit 1bbc10e

Browse files
committed
feat: add solutions to lc problems: No.1588,1672
- No.1588.Sum of All Odd Length Subarrays - No.1672.Richest Customer Wealth
1 parent 1b88c11 commit 1bbc10e

File tree

8 files changed

+202
-0
lines changed

8 files changed

+202
-0
lines changed

solution/1500-1599/1588.Sum of All Odd Length Subarrays/README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,51 @@ func sumOddLengthSubarrays(arr []int) int {
143143
}
144144
```
145145

146+
### **TypeScript**
147+
148+
```ts
149+
function sumOddLengthSubarrays(arr: number[]): number {
150+
const n = arr.length;
151+
let res = 0;
152+
for (let i = 1; i <= n; i += 2) {
153+
let sum = 0;
154+
for (let j = 0; j < i; j++) {
155+
sum += arr[j];
156+
}
157+
res += sum;
158+
for (let j = i; j < n; j++) {
159+
sum -= arr[j - i];
160+
sum += arr[j];
161+
res += sum;
162+
}
163+
}
164+
return res;
165+
}
166+
```
167+
168+
### **Rust**
169+
170+
```rust
171+
impl Solution {
172+
pub fn sum_odd_length_subarrays(arr: Vec<i32>) -> i32 {
173+
let n = arr.len();
174+
let mut res = 0;
175+
let mut i = 1;
176+
while i <= n {
177+
let mut sum: i32 = arr[0..i].iter().sum();
178+
res += sum;
179+
for j in i..n {
180+
sum -= arr[j - i];
181+
sum += arr[j];
182+
res += sum;
183+
}
184+
i += 2;
185+
}
186+
res
187+
}
188+
}
189+
```
190+
146191
### **...**
147192

148193
```

solution/1500-1599/1588.Sum of All Odd Length Subarrays/README_EN.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,51 @@ func sumOddLengthSubarrays(arr []int) int {
134134
}
135135
```
136136

137+
### **TypeScript**
138+
139+
```ts
140+
function sumOddLengthSubarrays(arr: number[]): number {
141+
const n = arr.length;
142+
let res = 0;
143+
for (let i = 1; i <= n; i += 2) {
144+
let sum = 0;
145+
for (let j = 0; j < i; j++) {
146+
sum += arr[j];
147+
}
148+
res += sum;
149+
for (let j = i; j < n; j++) {
150+
sum -= arr[j - i];
151+
sum += arr[j];
152+
res += sum;
153+
}
154+
}
155+
return res;
156+
}
157+
```
158+
159+
### **Rust**
160+
161+
```rust
162+
impl Solution {
163+
pub fn sum_odd_length_subarrays(arr: Vec<i32>) -> i32 {
164+
let n = arr.len();
165+
let mut res = 0;
166+
let mut i = 1;
167+
while i <= n {
168+
let mut sum: i32 = arr[0..i].iter().sum();
169+
res += sum;
170+
for j in i..n {
171+
sum -= arr[j - i];
172+
sum += arr[j];
173+
res += sum;
174+
}
175+
i += 2;
176+
}
177+
res
178+
}
179+
}
180+
```
181+
137182
### **...**
138183

139184
```
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
impl Solution {
2+
pub fn sum_odd_length_subarrays(arr: Vec<i32>) -> i32 {
3+
let n = arr.len();
4+
let mut res = 0;
5+
let mut i = 1;
6+
while i <= n {
7+
let mut sum: i32 = arr[0..i].iter().sum();
8+
res += sum;
9+
for j in i..n {
10+
sum -= arr[j - i];
11+
sum += arr[j];
12+
res += sum;
13+
}
14+
i += 2;
15+
}
16+
res
17+
}
18+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
function sumOddLengthSubarrays(arr: number[]): number {
2+
const n = arr.length;
3+
let res = 0;
4+
for (let i = 1; i <= n; i += 2) {
5+
let sum = 0;
6+
for (let j = 0; j < i; j++) {
7+
sum += arr[j];
8+
}
9+
res += sum;
10+
for (let j = i; j < n; j++) {
11+
sum -= arr[j - i];
12+
sum += arr[j];
13+
res += sum;
14+
}
15+
}
16+
return res;
17+
}

solution/1600-1699/1672.Richest Customer Wealth/README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,35 @@ func maximumWealth(accounts [][]int) int {
117117
}
118118
```
119119

120+
### **TypeScript**
121+
122+
```ts
123+
function maximumWealth(accounts: number[][]): number {
124+
return accounts.reduce(
125+
(res, account) =>
126+
Math.max(
127+
res,
128+
account.reduce((p, v) => p + v),
129+
),
130+
0,
131+
);
132+
}
133+
```
134+
135+
### **Rust**
136+
137+
```rust
138+
impl Solution {
139+
pub fn maximum_wealth(accounts: Vec<Vec<i32>>) -> i32 {
140+
accounts
141+
.iter()
142+
.map(|account| account.iter().sum())
143+
.max()
144+
.unwrap()
145+
}
146+
}
147+
```
148+
120149
### **...**
121150

122151
```

solution/1600-1699/1672.Richest Customer Wealth/README_EN.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,35 @@ func maximumWealth(accounts [][]int) int {
110110
}
111111
```
112112

113+
### **TypeScript**
114+
115+
```ts
116+
function maximumWealth(accounts: number[][]): number {
117+
return accounts.reduce(
118+
(res, account) =>
119+
Math.max(
120+
res,
121+
account.reduce((p, v) => p + v),
122+
),
123+
0,
124+
);
125+
}
126+
```
127+
128+
### **Rust**
129+
130+
```rust
131+
impl Solution {
132+
pub fn maximum_wealth(accounts: Vec<Vec<i32>>) -> i32 {
133+
accounts
134+
.iter()
135+
.map(|account| account.iter().sum())
136+
.max()
137+
.unwrap()
138+
}
139+
}
140+
```
141+
113142
### **...**
114143

115144
```
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
impl Solution {
2+
pub fn maximum_wealth(accounts: Vec<Vec<i32>>) -> i32 {
3+
accounts
4+
.iter()
5+
.map(|account| account.iter().sum())
6+
.max()
7+
.unwrap()
8+
}
9+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
function maximumWealth(accounts: number[][]): number {
2+
return accounts.reduce(
3+
(res, account) =>
4+
Math.max(
5+
res,
6+
account.reduce((p, v) => p + v),
7+
),
8+
0,
9+
);
10+
}

0 commit comments

Comments
 (0)