diff --git a/solution/1700-1799/1781.Sum of Beauty of All Substrings/README.md b/solution/1700-1799/1781.Sum of Beauty of All Substrings/README.md index cc7e39c226939..3f0a301924dcb 100644 --- a/solution/1700-1799/1781.Sum of Beauty of All Substrings/README.md +++ b/solution/1700-1799/1781.Sum of Beauty of All Substrings/README.md @@ -161,6 +161,52 @@ func beautySum(s string) (ans int) { } ``` +#### TypeScript + +```ts +function beautySum(s: string): number { + let ans = 0; + for (let i = 0; i < s.length; ++i) { + const cnt = new Map(); + for (let j = i; j < s.length; ++j) { + cnt.set(s[j], (cnt.get(s[j]) || 0) + 1); + const t = Array.from(cnt.values()); + ans += Math.max(...t) - Math.min(...t); + } + } + return ans; +} +``` + +#### Rust + +```rust +impl Solution { + pub fn beauty_sum(s: String) -> i32 { + let mut ans = 0; + let n = s.len(); + let s: Vec = s.chars().collect(); + + for i in 0..n { + let mut cnt = vec![0; 26]; + for j in i..n { + cnt[s[j] as usize - 'a' as usize] += 1; + let mut mi = 1000; + let mut mx = 0; + for &v in &cnt { + if v > 0 { + mi = mi.min(v); + mx = mx.max(v); + } + } + ans += mx - mi; + } + } + ans + } +} +``` + #### JavaScript ```js diff --git a/solution/1700-1799/1781.Sum of Beauty of All Substrings/README_EN.md b/solution/1700-1799/1781.Sum of Beauty of All Substrings/README_EN.md index c8f1fddcad725..7631e3a7e817f 100644 --- a/solution/1700-1799/1781.Sum of Beauty of All Substrings/README_EN.md +++ b/solution/1700-1799/1781.Sum of Beauty of All Substrings/README_EN.md @@ -159,6 +159,52 @@ func beautySum(s string) (ans int) { } ``` +#### TypeScript + +```ts +function beautySum(s: string): number { + let ans = 0; + for (let i = 0; i < s.length; ++i) { + const cnt = new Map(); + for (let j = i; j < s.length; ++j) { + cnt.set(s[j], (cnt.get(s[j]) || 0) + 1); + const t = Array.from(cnt.values()); + ans += Math.max(...t) - Math.min(...t); + } + } + return ans; +} +``` + +#### Rust + +```rust +impl Solution { + pub fn beauty_sum(s: String) -> i32 { + let mut ans = 0; + let n = s.len(); + let s: Vec = s.chars().collect(); + + for i in 0..n { + let mut cnt = vec![0; 26]; + for j in i..n { + cnt[s[j] as usize - 'a' as usize] += 1; + let mut mi = 1000; + let mut mx = 0; + for &v in &cnt { + if v > 0 { + mi = mi.min(v); + mx = mx.max(v); + } + } + ans += mx - mi; + } + } + ans + } +} +``` + #### JavaScript ```js diff --git a/solution/1700-1799/1781.Sum of Beauty of All Substrings/Solution.rs b/solution/1700-1799/1781.Sum of Beauty of All Substrings/Solution.rs new file mode 100644 index 0000000000000..a49f3c7ca3550 --- /dev/null +++ b/solution/1700-1799/1781.Sum of Beauty of All Substrings/Solution.rs @@ -0,0 +1,24 @@ +impl Solution { + pub fn beauty_sum(s: String) -> i32 { + let mut ans = 0; + let n = s.len(); + let s: Vec = s.chars().collect(); + + for i in 0..n { + let mut cnt = vec![0; 26]; + for j in i..n { + cnt[s[j] as usize - 'a' as usize] += 1; + let mut mi = 1000; + let mut mx = 0; + for &v in &cnt { + if v > 0 { + mi = mi.min(v); + mx = mx.max(v); + } + } + ans += mx - mi; + } + } + ans + } +} diff --git a/solution/1700-1799/1781.Sum of Beauty of All Substrings/Solution.ts b/solution/1700-1799/1781.Sum of Beauty of All Substrings/Solution.ts new file mode 100644 index 0000000000000..46c4d37f40c0d --- /dev/null +++ b/solution/1700-1799/1781.Sum of Beauty of All Substrings/Solution.ts @@ -0,0 +1,12 @@ +function beautySum(s: string): number { + let ans = 0; + for (let i = 0; i < s.length; ++i) { + const cnt = new Map(); + for (let j = i; j < s.length; ++j) { + cnt.set(s[j], (cnt.get(s[j]) || 0) + 1); + const t = Array.from(cnt.values()); + ans += Math.max(...t) - Math.min(...t); + } + } + return ans; +}