Single Queue ```python class MyStack: # tc O(1) sc O(1) def init(self): self.q = collections.deque() # tc O(1) def push(self, x: int) -> None: self.q.append(x) size = len(self.q) for i in range(size-1): tmp = self.q.popleft() self.q.append(tmp) # tc O(N) sc O(N) def pop(self) -> int: return self.q.popleft() # tc O(1)...
[Read More]
374. Guess Number Higher or Lower
Binary Search ```python class Solution: def guessNumber(self, n: int) -> int: “”” tc O(lgN) sc O(1) “”” left, right = 1, n+1 while left < right: mid = left + (right-left)//2 if guess(mid) == 0 : return mid elif guess(mid) < 0: right = mid -1 else: left = mid...
[Read More]
1180. Count Substrings with Only One Distinct Letter
Math Solution class Solution: def countLetters(self, s: str) -> int: """ tc O(N) sc O(1) main idea: counting consecutive substring share one character, get combination of occurance (1+n)*n//2 """ n = len(s) cnt = 1 res = 0 for i in range(1,n) if s[i] == s[i-1]: cnt += 1 else:...
[Read More]
1922. Count Good Numbers
```python class Solution: def countGoodNumbers(self, n: int) -> int: “”” tc O(lgN) sc O(lgN) “”” M = 10*9+7 def mod_pow(val, cnt): res = 1 while cnt: if cnt%2==1: res = val res cnt = cnt//2 val = (valval)%M return res even_cnt = n//2 odd_cnt = n - even_cnt return (mod_pow(4,even_cnt)%M...
[Read More]
382. Linked List Random Node
```python
Definition for singly-linked list.
class ListNode:
def init(self, val=0, next=None):
self.val = val
self.next = next
class Solution:
[Read More]