From d7c39bfa18ca015fd20bb507d324173d53071339 Mon Sep 17 00:00:00 2001 From: Maheshwari Love Date: Sat, 22 Jun 2024 23:38:48 +0530 Subject: [PATCH 1/2] added solution to lc-2549 --- .../2549-Count Distinct Numbers on Board.md | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 dsa-solutions/lc-solutions/2500 - 3000/2549-Count Distinct Numbers on Board.md diff --git a/dsa-solutions/lc-solutions/2500 - 3000/2549-Count Distinct Numbers on Board.md b/dsa-solutions/lc-solutions/2500 - 3000/2549-Count Distinct Numbers on Board.md new file mode 100644 index 000000000..8bba3e6e1 --- /dev/null +++ b/dsa-solutions/lc-solutions/2500 - 3000/2549-Count Distinct Numbers on Board.md @@ -0,0 +1,97 @@ +--- +id: count-distinct-numbers-on-board +title: Count Distinct Numbers on Board +sidebar_label: 2544 Count Distinct Numbers on Board +tags: + - Array + - Hash Table + - LeetCode + - C++ +description: "This is a solution to the Count Distinct Numbers on Board problem on LeetCode." +--- + +## Problem Description + +You are given a positive integer n, that is initially placed on a board. Every day, for 109 days, you perform the following procedure: + +For each number x present on the board, find all numbers 1 <= i <= n such that x % i == 1. +Then, place those numbers on the board. +Return the number of distinct integers present on the board after 109 days have elapsed. + +### Examples + +**Example 1:** + +``` + +Input: n = 5 +Output: 4 +Explanation: Initially, 5 is present on the board. + +``` + +**Example 2:** + +``` +Input: n = 3 +Output: 2 +Explanation: +Since 3 % 2 == 1, 2 will be added to the board. +``` + + +### Constraints + +- `1 <= n <= 100` + + +### Approach + +Since every operation on the number n on the desktop will also cause the number n-1 to appear on the desktop, the final numbers on the desktop are [2,...n], that is, n-1 numbers. + +The time complexity is $O(n)$, and the space complexity is $O(n)$. Here, $n$ is the given number. + +#### Python3 + +```python +class Solution: + def distinctIntegers(self, n: int) -> int: + return max(1, n - 1) +``` + +#### Java + +```java +class Solution { + public int distinctIntegers(int n) { + return Math.max(1, n - 1); + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + int distinctIntegers(int n) { + return max(1, n - 1); + } +}; +``` + +#### Go + +```go +func distinctIntegers(n int) int { + return max(1, n-1) +} +``` + +#### TypeScript + +```ts +function distinctIntegers(n: number): number { + return Math.max(1, n - 1); +} +``` From 016ca383e0604cf936b720f46e565cf4f31c57be Mon Sep 17 00:00:00 2001 From: Maheshwari Love Date: Sun, 23 Jun 2024 23:25:43 +0530 Subject: [PATCH 2/2] changes done --- .../2500 - 3000/2549-Count Distinct Numbers on Board.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dsa-solutions/lc-solutions/2500 - 3000/2549-Count Distinct Numbers on Board.md b/dsa-solutions/lc-solutions/2500 - 3000/2549-Count Distinct Numbers on Board.md index 8bba3e6e1..ebb016c21 100644 --- a/dsa-solutions/lc-solutions/2500 - 3000/2549-Count Distinct Numbers on Board.md +++ b/dsa-solutions/lc-solutions/2500 - 3000/2549-Count Distinct Numbers on Board.md @@ -14,7 +14,7 @@ description: "This is a solution to the Count Distinct Numbers on Board problem You are given a positive integer n, that is initially placed on a board. Every day, for 109 days, you perform the following procedure: -For each number x present on the board, find all numbers 1 <= i <= n such that x % i == 1. +For each number x present on the board, find all numbers `1 <= i <= n` such that x % i == 1. Then, place those numbers on the board. Return the number of distinct integers present on the board after 109 days have elapsed.