Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7564363

Browse files
feat: add solutions to lc problem: No.1781 (doocs#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)

AltStyle によって変換されたページ (->オリジナル) /