# A. Largest Positive Integer That Exists With Its Negative (opens new window)
Use hash set as a counter.
DETAILS
def findMaxK(self, A: List[int]) -> int:
ans = -1
s = set()
for a in A:
if -a in s:
ans = max(ans, abs(a))
s.add(a)
return ans
# B. Count Number of Distinct Integers After Reverse Operations (opens new window)
Use hash set as a counter.
DETAILS
def countDistinctIntegers(self, A: List[int]) -> int:
s = set()
for a in A:
s.add(a)
s.add(int(str(a)[::-1]))
return len(s)
# C. Sum of Number and Its Reverse (opens new window)
Brute Force.
DETAILS
def sumOfNumberAndReverse(self, A: int) -> bool:
return any(A == a + int(str(a)[::-1]) for a in range(A + 1))
# D. Count Subarrays With Fixed Bounds (opens new window)
Sliding window.
DETAILS
def countSubarrays(self, A: List[int], mik: int, mak: int) -> int:
ans = 0
mi = ma = k = -1
for i, a in enumerate(A):
if a < mik or a > mak:
k = i
if a == mik:
mi = i
if a == mak:
ma = i
ans += max(0, min(mi, ma) - k)
return ans