2777. Date Range Generator π
Description
Given a start date start, an end date end, and a positive integer step, return a generator object that yields dates in the range from start to end inclusive.
The value of step indicates the number of days between consecutive yielded values.
All yielded dates must be in the string format YYYY-MM-DD.
Example 1:
Input: start = "2023-04-01", end = "2023-04-04", step = 1 Output: ["2023-04-01","2023-04-02","2023-04-03","2023-04-04"] Explanation: const g = dateRangeGenerator(start, end, step); g.next().value // '2023-04-01' g.next().value // '2023-04-02' g.next().value // '2023-04-03' g.next().value // '2023-04-04'
Example 2:
Input: start = "2023-04-10", end = "2023-04-20", step = 3 Output: ["2023-04-10","2023-04-13","2023-04-16","2023-04-19"] Explanation: const g = dateRangeGenerator(start, end, step); g.next().value // '2023-04-10' g.next().value // '2023-04-13' g.next().value // '2023-04-16' g.next().value // '2023-04-19'
Example 3:
Input: start = "2023-04-10", end = "2023-04-10", step = 1 Output: ["2023-04-10"] Explanation: const g = dateRangeGenerator(start, end, step); g.next().value // '2023-04-10'
Constraints:
new Date(start) <= new Date(end)startandenddates are in the string formatYYYY-MM-DD0 <= The difference in days between the start date and the end date <= 15001 <= step <= 1000
Solutions
Solution 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |