From 6fdc49470520ae866aefd11922bdebb44bcb5a8e Mon Sep 17 00:00:00 2001 From: Gadam Jumayev Date: Wed, 3 Sep 2025 00:54:00 +0500 Subject: [PATCH 1/9] fix: solution of 412 --- solution/0400-0499/0412.Fizz Buzz/Solution.go | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/solution/0400-0499/0412.Fizz Buzz/Solution.go b/solution/0400-0499/0412.Fizz Buzz/Solution.go index 0a7f2deab0707..84ef3376223d6 100644 --- a/solution/0400-0499/0412.Fizz Buzz/Solution.go +++ b/solution/0400-0499/0412.Fizz Buzz/Solution.go @@ -1,16 +1,16 @@ func fizzBuzz(n int) (ans []string) { - for i := 1; i <= n; i++ { - s := &strings.Builder{} - if i%3 == 0 { - s.WriteString("Fizz") + ans := make([]string, 0, n) + for i := 1; i < n+1; i++ { + switch { + case i%15 == 0: + ans = append(ans, "FizzBuzz") + case i%3 == 0: + ans = append(ans, "Fizz") + case i%5 == 0: + ans = append(ans, "Buzz") + default: + ans = append(ans, strconv.Itoa(i)) } - if i%5 == 0 { - s.WriteString("Buzz") - } - if s.Len() == 0 { - s.WriteString(strconv.Itoa(i)) - } - ans = append(ans, s.String()) } - return + return ans } \ No newline at end of file From b3c4847d80166c20b2fd6165b167e131f046561a Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Wed, 3 Sep 2025 07:11:25 +0800 Subject: [PATCH 2/9] Change fizzBuzz return type to []string --- solution/0400-0499/0412.Fizz Buzz/Solution.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/solution/0400-0499/0412.Fizz Buzz/Solution.go b/solution/0400-0499/0412.Fizz Buzz/Solution.go index 84ef3376223d6..152ffb5b96e7d 100644 --- a/solution/0400-0499/0412.Fizz Buzz/Solution.go +++ b/solution/0400-0499/0412.Fizz Buzz/Solution.go @@ -1,4 +1,4 @@ -func fizzBuzz(n int) (ans []string) { +func fizzBuzz(n int) []string { ans := make([]string, 0, n) for i := 1; i < n+1; i++ { switch { @@ -13,4 +13,4 @@ func fizzBuzz(n int) (ans []string) { } } return ans -} \ No newline at end of file +} From 5637bcad9500b1017dda428b20cfe40c29706d06 Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Wed, 3 Sep 2025 07:12:11 +0800 Subject: [PATCH 3/9] Refactor fizzBuzz function in Go Refactor fizzBuzz function to use switch statement and improve performance. --- solution/0400-0499/0412.Fizz Buzz/README.md | 26 ++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/solution/0400-0499/0412.Fizz Buzz/README.md b/solution/0400-0499/0412.Fizz Buzz/README.md index 19d4d3abe8a6c..2eb7eb21ec3ef 100644 --- a/solution/0400-0499/0412.Fizz Buzz/README.md +++ b/solution/0400-0499/0412.Fizz Buzz/README.md @@ -141,21 +141,21 @@ public: #### Go ```go -func fizzBuzz(n int) (ans []string) { - for i := 1; i <= n; i++ { - s := &strings.Builder{} - if i%3 == 0 { - s.WriteString("Fizz") +func fizzBuzz(n int) []string { + ans := make([]string, 0, n) + for i := 1; i < n+1; i++ { + switch { + case i%15 == 0: + ans = append(ans, "FizzBuzz") + case i%3 == 0: + ans = append(ans, "Fizz") + case i%5 == 0: + ans = append(ans, "Buzz") + default: + ans = append(ans, strconv.Itoa(i)) } - if i%5 == 0 { - s.WriteString("Buzz") - } - if s.Len() == 0 { - s.WriteString(strconv.Itoa(i)) - } - ans = append(ans, s.String()) } - return + return ans } ``` From 909d2d668b0126594f6dc018c3c9251466ca1e88 Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Wed, 3 Sep 2025 07:12:31 +0800 Subject: [PATCH 4/9] Refactor fizzBuzz function in README_EN.md Refactor fizzBuzz function to use switch-case and improve performance. --- .../0400-0499/0412.Fizz Buzz/README_EN.md | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/solution/0400-0499/0412.Fizz Buzz/README_EN.md b/solution/0400-0499/0412.Fizz Buzz/README_EN.md index 088605636ac28..70e9acfae2992 100644 --- a/solution/0400-0499/0412.Fizz Buzz/README_EN.md +++ b/solution/0400-0499/0412.Fizz Buzz/README_EN.md @@ -129,21 +129,21 @@ public: #### Go ```go -func fizzBuzz(n int) (ans []string) { - for i := 1; i <= n; i++ { - s := &strings.Builder{} - if i%3 == 0 { - s.WriteString("Fizz") +func fizzBuzz(n int) []string { + ans := make([]string, 0, n) + for i := 1; i < n+1; i++ { + switch { + case i%15 == 0: + ans = append(ans, "FizzBuzz") + case i%3 == 0: + ans = append(ans, "Fizz") + case i%5 == 0: + ans = append(ans, "Buzz") + default: + ans = append(ans, strconv.Itoa(i)) } - if i%5 == 0 { - s.WriteString("Buzz") - } - if s.Len() == 0 { - s.WriteString(strconv.Itoa(i)) - } - ans = append(ans, s.String()) } - return + return ans } ``` From 10130548e5f19a4a863807a257facb24fdca7b76 Mon Sep 17 00:00:00 2001 From: Gadam Jumayev Date: Sun, 21 Sep 2025 00:06:24 +0500 Subject: [PATCH 5/9] add ts solution for problem 442 --- .../Solution.ts | 16 ++++++++++++++++ .../Solution.go | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 solution/0400-0499/0442.Find All Duplicates in an Array/Solution.ts diff --git a/solution/0400-0499/0442.Find All Duplicates in an Array/Solution.ts b/solution/0400-0499/0442.Find All Duplicates in an Array/Solution.ts new file mode 100644 index 0000000000000..b25a42fe49a4f --- /dev/null +++ b/solution/0400-0499/0442.Find All Duplicates in an Array/Solution.ts @@ -0,0 +1,16 @@ +function findDuplicates(nums: number[]): number[] { + for (let i = 0; i < nums.length; i++) { + while (nums[i] !== nums[nums[i] - 1]) { + const temp = nums[i]; + nums[i] = nums[temp - 1]; + nums[temp - 1] = temp; + } + } + const ans: number[] = []; + for (let i = 0; i < nums.length; i++) { + if (nums[i] !== i + 1) { + ans.push(nums[i]); + } + } + return ans; +} \ No newline at end of file diff --git a/solution/2200-2299/2283.Check if Number Has Equal Digit Count and Digit Value/Solution.go b/solution/2200-2299/2283.Check if Number Has Equal Digit Count and Digit Value/Solution.go index abb22e8f7a4f2..24dad625d8862 100644 --- a/solution/2200-2299/2283.Check if Number Has Equal Digit Count and Digit Value/Solution.go +++ b/solution/2200-2299/2283.Check if Number Has Equal Digit Count and Digit Value/Solution.go @@ -9,4 +9,4 @@ func digitCount(num string) bool { } } return true -} \ No newline at end of file +} \ No newline at end of file From 57acbce659e61f9307bbcd359858436db4f30c3a Mon Sep 17 00:00:00 2001 From: jumayevgadam <165657997+jumayevgadam@users.noreply.github.com> Date: Tue, 23 Sep 2025 18:59:25 +0000 Subject: [PATCH 6/9] style: format code and docs with prettier --- .../Solution.ts | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/solution/0400-0499/0442.Find All Duplicates in an Array/Solution.ts b/solution/0400-0499/0442.Find All Duplicates in an Array/Solution.ts index b25a42fe49a4f..ed9cd7d2d95ab 100644 --- a/solution/0400-0499/0442.Find All Duplicates in an Array/Solution.ts +++ b/solution/0400-0499/0442.Find All Duplicates in an Array/Solution.ts @@ -1,16 +1,16 @@ function findDuplicates(nums: number[]): number[] { - for (let i = 0; i < nums.length; i++) { - while (nums[i] !== nums[nums[i] - 1]) { - const temp = nums[i]; - nums[i] = nums[temp - 1]; - nums[temp - 1] = temp; + for (let i = 0; i < nums.length; i++) { + while (nums[i] !== nums[nums[i] - 1]) { + const temp = nums[i]; + nums[i] = nums[temp - 1]; + nums[temp - 1] = temp; + } } - } - const ans: number[] = []; - for (let i = 0; i < nums.length; i++) { - if (nums[i] !== i + 1) { - ans.push(nums[i]); + const ans: number[] = []; + for (let i = 0; i < nums.length; i++) { + if (nums[i] !== i + 1) { + ans.push(nums[i]); + } } - } - return ans; -} \ No newline at end of file + return ans; +} From beff93bee2b23de6309429b6a6bb949dfc2dcd55 Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Wed, 24 Sep 2025 06:57:03 +0800 Subject: [PATCH 7/9] Update Solution.go --- .../Solution.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solution/2200-2299/2283.Check if Number Has Equal Digit Count and Digit Value/Solution.go b/solution/2200-2299/2283.Check if Number Has Equal Digit Count and Digit Value/Solution.go index 24dad625d8862..168c7124bee8a 100644 --- a/solution/2200-2299/2283.Check if Number Has Equal Digit Count and Digit Value/Solution.go +++ b/solution/2200-2299/2283.Check if Number Has Equal Digit Count and Digit Value/Solution.go @@ -9,4 +9,4 @@ func digitCount(num string) bool { } } return true -} \ No newline at end of file +} From 8d026340cd658d67103d16b3de8f0bd953192cee Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Wed, 24 Sep 2025 06:58:11 +0800 Subject: [PATCH 8/9] Add TypeScript solution for duplicate finder Added TypeScript implementation for finding duplicates. --- .../README.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/solution/0400-0499/0442.Find All Duplicates in an Array/README.md b/solution/0400-0499/0442.Find All Duplicates in an Array/README.md index ef097526e76fc..949d1e933d057 100644 --- a/solution/0400-0499/0442.Find All Duplicates in an Array/README.md +++ b/solution/0400-0499/0442.Find All Duplicates in an Array/README.md @@ -146,6 +146,27 @@ func findDuplicates(nums []int) []int { } ``` +#### TypeScript + +```ts +function findDuplicates(nums: number[]): number[] { + for (let i = 0; i < nums.length; i++) { + while (nums[i] !== nums[nums[i] - 1]) { + const temp = nums[i]; + nums[i] = nums[temp - 1]; + nums[temp - 1] = temp; + } + } + const ans: number[] = []; + for (let i = 0; i < nums.length; i++) { + if (nums[i] !== i + 1) { + ans.push(nums[i]); + } + } + return ans; +} +``` + From e2da575f8478354fc7b0d80cc82edabd1df08457 Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Wed, 24 Sep 2025 06:58:28 +0800 Subject: [PATCH 9/9] Add TypeScript solution for finding duplicates Added TypeScript implementation for finding duplicates in an array. --- .../README_EN.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/solution/0400-0499/0442.Find All Duplicates in an Array/README_EN.md b/solution/0400-0499/0442.Find All Duplicates in an Array/README_EN.md index 013557eeb986e..8a3feeb89f721 100644 --- a/solution/0400-0499/0442.Find All Duplicates in an Array/README_EN.md +++ b/solution/0400-0499/0442.Find All Duplicates in an Array/README_EN.md @@ -133,6 +133,27 @@ func findDuplicates(nums []int) []int { } ``` +#### TypeScript + +```ts +function findDuplicates(nums: number[]): number[] { + for (let i = 0; i < nums.length; i++) { + while (nums[i] !== nums[nums[i] - 1]) { + const temp = nums[i]; + nums[i] = nums[temp - 1]; + nums[temp - 1] = temp; + } + } + const ans: number[] = []; + for (let i = 0; i < nums.length; i++) { + if (nums[i] !== i + 1) { + ans.push(nums[i]); + } + } + return ans; +} +``` +