2026-06-01 18:12:40 +08:00
#+ANKI_DECK : study_deck_02
2026-06-01 17:12:10 +08:00
* TODO 2300. Successful Pairs of Spells and Potions :medium:
2026-06-01 02:33:30 +08:00
:PROPERTIES:
2026-06-01 17:22:07 +08:00
:NEETCODE: [[file:../../roadmap.org::*2300. Successful Pairs of Spells and Potions][2300. Successful Pairs of Spells and Potions]]
2026-06-01 02:33:30 +08:00
:END:
2026-06-01 17:22:07 +08:00
You are given two positive integer arrays ~spells~ and ~potions~ , of length ~n~ and ~m~ respectively, where ~spells[i]~ represents the strength of the ~i^{th}~ spell and ~potions[j]~ represents the strength of the ~j^{th}~ potion.
You are also given an integer ~success~ . A spell and potion pair is considered *successful* if the *product* of their strengths is *at least* ~success~ .
Return /an integer array / ~pairs~ / of length / ~n~ / where / ~pairs[i]~ / is the number of *potions* that will form a successful pair with the / ~i^{th}~ / spell./
*Example 1:*
#+begin_ src
Input: spells = [5,1,3], potions = [1,2,3,4,5], success = 7
Output: [4,0,3]
Explanation:
- 0th spell: 5 * [1,2,3,4,5] = [5,10,15,20,25]. 4 pairs are successful.
- 1st spell: 1 * [1,2,3,4,5] = [1,2,3,4,5]. 0 pairs are successful.
- 2nd spell: 3 * [1,2,3,4,5] = [3,6,9,12,15]. 3 pairs are successful.
Thus, [4,0,3] is returned.
#+end_src
*Example 2:*
#+begin_ src
Input: spells = [3,1,2], potions = [8,5,8], success = 16
Output: [2,0,2]
Explanation:
- 0th spell: 3 * [8,5,8] = [24,15,24]. 2 pairs are successful.
- 1st spell: 1 * [8,5,8] = [8,5,8]. 0 pairs are successful.
- 2nd spell: 2 * [8,5,8] = [16,10,16]. 2 pairs are successful.
Thus, [2,0,2] is returned.
#+end_src
*Constraints:*
- ~n == spells.length~
- ~m == potions.length~
- ~1 <= n, m <= 10^{5}~
- ~1 <= spells[i], potions[i] <= 10^{5}~
- ~1 <= success <= 10^{10}~
2026-06-01 02:39:53 +08:00
** TODO Approach
Write your approach here.
** TODO Python
#+begin_src python
2026-06-01 17:22:07 +08:00
class Solution :
def successfulPairs ( self , spells : List [ int ] , potions : List [ int ] , success : int ) - > List [ int ] :
2026-06-01 02:39:53 +08:00
#+end_src
** TODO C++
2026-06-01 02:33:30 +08:00
#+begin_src cpp
2026-06-01 17:22:07 +08:00
class Solution {
public :
vector < int > successfulPairs ( vector < int > & spells , vector < int > & potions , long long success ) {
}
} ;
2026-06-01 02:33:30 +08:00
#+end_src