From 4d8695a457b6f800de77867bb41f4b8da18cff66 Mon Sep 17 00:00:00 2001 From: masx200 <34191203+masx200@users.noreply.github.com> Date: Thu, 17 Nov 2022 22:36:03 +0800 Subject: [PATCH 1/2] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f27660a0..a0ce73ca 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,8 @@ Step 2. Add the dependency 展开查看 +https://leetcode-cn.com/problems/sum-of-subsequence-widths/ + https://leetcode.cn/problems/partition-equal-subset-sum/ https://leetcode.cn/problems/NUPfPr/ From 6644126006a79291b266ba438b5eb3cfd28fad24 Mon Sep 17 00:00:00 2001 From: masx200 <34191203+masx200@users.noreply.github.com> Date: Thu, 17 Nov 2022 22:37:43 +0800 Subject: [PATCH 2/2] Create index.ts --- sum-of-subsequence-widths/index.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 sum-of-subsequence-widths/index.ts diff --git a/sum-of-subsequence-widths/index.ts b/sum-of-subsequence-widths/index.ts new file mode 100644 index 00000000..2404dccb --- /dev/null +++ b/sum-of-subsequence-widths/index.ts @@ -0,0 +1,13 @@ +export default function sumSubseqWidths(nums: number[]): number { + + const MOD = 1000000007; + nums.sort((a, b) => a - b); + let res = 0; + let x = nums[0], y = 2; + for (let j = 1; j < nums.length; j++) { + res = (res + nums[j] * (y - 1) - x) % MOD; + x = (x * 2 + nums[j]) % MOD; + y = y * 2 % MOD; + } + return (res + MOD) % MOD; +}