From a9c2d15d25dbfd0258ee025c0a0ac9a3b4826113 Mon Sep 17 00:00:00 2001 From: Ashwagandha-coder Date: Wed, 4 Jun 2025 13:46:11 +0100 Subject: [PATCH 1/2] add 933 --- .../main/java/com/github/contest/Execute.kt | 1 + .../github/contest/design/DesignLeetcode.kt | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/contest/src/main/java/com/github/contest/Execute.kt b/contest/src/main/java/com/github/contest/Execute.kt index 088257d..5a05730 100644 --- a/contest/src/main/java/com/github/contest/Execute.kt +++ b/contest/src/main/java/com/github/contest/Execute.kt @@ -17,6 +17,7 @@ import java.util.TreeMap fun main() { findAnagrams("abnkjhgidhr", "abn").also { println(it) } + } infix fun Int.myRange(to: Int): IntRange { diff --git a/contest/src/main/java/com/github/contest/design/DesignLeetcode.kt b/contest/src/main/java/com/github/contest/design/DesignLeetcode.kt index 7415521..a900891 100644 --- a/contest/src/main/java/com/github/contest/design/DesignLeetcode.kt +++ b/contest/src/main/java/com/github/contest/design/DesignLeetcode.kt @@ -1,5 +1,7 @@ package com.github.contest.design +import java.util.LinkedList + /** * 1352. Product of the Last K Numbers */ @@ -331,4 +333,22 @@ class RLEIterator(private val encoding: IntArray) { return 0 } +} + +/** + * 933. Number of Recent Calls + */ + +class RecentCounter() { + + private val queue = LinkedList() + + fun ping(t: Int): Int { + queue.offer(t) + + while (queue.peek() < t - 3000) queue.poll() + + return queue.size + } + } \ No newline at end of file From d0c55839490f0fcc78f2d9abde92d5bb8a7b2f35 Mon Sep 17 00:00:00 2001 From: Ashwagandha-coder Date: Wed, 4 Jun 2025 13:46:52 +0100 Subject: [PATCH 2/2] add 901 --- .../github/contest/design/DesignLeetcode.kt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/contest/src/main/java/com/github/contest/design/DesignLeetcode.kt b/contest/src/main/java/com/github/contest/design/DesignLeetcode.kt index a900891..ed079e1 100644 --- a/contest/src/main/java/com/github/contest/design/DesignLeetcode.kt +++ b/contest/src/main/java/com/github/contest/design/DesignLeetcode.kt @@ -351,4 +351,23 @@ class RecentCounter() { return queue.size } +} + +/** + * 901. Online Stock Span + */ + +class StockSpanner() { + + private val stocks = ArrayDeque>() + + fun next(price: Int): Int { + var span = 1 + + while (stocks.isNotEmpty() && stocks.last().first <= price) span += stocks.removeLast().second + + stocks.addLast(price to span) + return span + } + } \ No newline at end of file