# 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