Skip to content

Commit 7564363

Browse files
authored
feat: add solutions to lc problem: No.1781 (#4646)
No.1781.Sum of Beauty of All Substrings
1 parent c9f8c43 commit 7564363

File tree

4 files changed

+128
-0
lines changed

4 files changed

+128
-0
lines changed

solution/1700-1799/1781.Sum of Beauty of All Substrings/README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,52 @@ func beautySum(s string) (ans int) {
161161
}
162162
```
163163

164+
#### TypeScript
165+
166+
```ts
167+
function beautySum(s: string): number {
168+
let ans = 0;
169+
for (let i = 0; i < s.length; ++i) {
170+
const cnt = new Map();
171+
for (let j = i; j < s.length; ++j) {
172+
cnt.set(s[j], (cnt.get(s[j]) || 0) + 1);
173+
const t = Array.from(cnt.values());
174+
ans += Math.max(...t) - Math.min(...t);
175+
}
176+
}
177+
return ans;
178+
}
179+
```
180+
181+
#### Rust
182+
183+
```rust
184+
impl Solution {
185+
pub fn beauty_sum(s: String) -> i32 {
186+
let mut ans = 0;
187+
let n = s.len();
188+
let s: Vec<char> = s.chars().collect();
189+
190+
for i in 0..n {
191+
let mut cnt = vec![0; 26];
192+
for j in i..n {
193+
cnt[s[j] as usize - 'a' as usize] += 1;
194+
let mut mi = 1000;
195+
let mut mx = 0;
196+
for &v in &cnt {
197+
if v > 0 {
198+
mi = mi.min(v);
199+
mx = mx.max(v);
200+
}
201+
}
202+
ans += mx - mi;
203+
}
204+
}
205+
ans
206+
}
207+
}
208+
```
209+
164210
#### JavaScript
165211

166212
```js

solution/1700-1799/1781.Sum of Beauty of All Substrings/README_EN.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,52 @@ func beautySum(s string) (ans int) {
159159
}
160160
```
161161

162+
#### TypeScript
163+
164+
```ts
165+
function beautySum(s: string): number {
166+
let ans = 0;
167+
for (let i = 0; i < s.length; ++i) {
168+
const cnt = new Map();
169+
for (let j = i; j < s.length; ++j) {
170+
cnt.set(s[j], (cnt.get(s[j]) || 0) + 1);
171+
const t = Array.from(cnt.values());
172+
ans += Math.max(...t) - Math.min(...t);
173+
}
174+
}
175+
return ans;
176+
}
177+
```
178+
179+
#### Rust
180+
181+
```rust
182+
impl Solution {
183+
pub fn beauty_sum(s: String) -> i32 {
184+
let mut ans = 0;
185+
let n = s.len();
186+
let s: Vec<char> = s.chars().collect();
187+
188+
for i in 0..n {
189+
let mut cnt = vec![0; 26];
190+
for j in i..n {
191+
cnt[s[j] as usize - 'a' as usize] += 1;
192+
let mut mi = 1000;
193+
let mut mx = 0;
194+
for &v in &cnt {
195+
if v > 0 {
196+
mi = mi.min(v);
197+
mx = mx.max(v);
198+
}
199+
}
200+
ans += mx - mi;
201+
}
202+
}
203+
ans
204+
}
205+
}
206+
```
207+
162208
#### JavaScript
163209

164210
```js
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
impl Solution {
2+
pub fn beauty_sum(s: String) -> i32 {
3+
let mut ans = 0;
4+
let n = s.len();
5+
let s: Vec<char> = s.chars().collect();
6+
7+
for i in 0..n {
8+
let mut cnt = vec![0; 26];
9+
for j in i..n {
10+
cnt[s[j] as usize - 'a' as usize] += 1;
11+
let mut mi = 1000;
12+
let mut mx = 0;
13+
for &v in &cnt {
14+
if v > 0 {
15+
mi = mi.min(v);
16+
mx = mx.max(v);
17+
}
18+
}
19+
ans += mx - mi;
20+
}
21+
}
22+
ans
23+
}
24+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
function beautySum(s: string): number {
2+
let ans = 0;
3+
for (let i = 0; i < s.length; ++i) {
4+
const cnt = new Map();
5+
for (let j = i; j < s.length; ++j) {
6+
cnt.set(s[j], (cnt.get(s[j]) || 0) + 1);
7+
const t = Array.from(cnt.values());
8+
ans += Math.max(...t) - Math.min(...t);
9+
}
10+
}
11+
return ans;
12+
}

0 commit comments

Comments
 (0)