JustPaste.it

Leetcode GPT

def get_concatenation(nums):
    concatenation_value = 0
    while len(nums) > 0:
        if len(nums) > 1:
            concatenation_value += int(str(nums[0]) + str(nums[-1]))
            nums.pop()
            nums.pop(0)
        else:
            concatenation_value += nums[0]
            nums.pop()
    return concatenation_value


def count_fair_pairs(nums, lower, upper):
    # Initialize the count of fair pairs to 0
    fair_pairs = 0
    # Loop over all possible pairs (i, j) with i < j
    for i in range(len(nums) - 1):
        for j in range(i + 1, len(nums)):
            # Check if the sum of nums[i] and nums[j] is between lower and upper
            if lower <= nums[i] + nums[j] <= upper:
                # If so, increment the count of fair pairs
                fair_pairs += 1
    # Return the count of fair pairs
    return fair_pairs


def shortest_substring(s, queries):
    ans = []
    for q in queries:
        firsti, secondi = q[0], q[1]
        min_length = float('inf')
        lefti, righti = -1, -1
        for i in range(len(s)):
            val = 0
            for j in range(i, len(s)):
                val = (val << 1) + int(s[j])
                if (val ^ firsti) == secondi:
                    if j - i + 1 < min_length:
                        min_length = j - i + 1
                        lefti, righti = i, j
        ans.append([lefti, righti])
    return ans


def min_score(s, t):
    t_idx = 0
    last_idx = -1
    leftmost = float('inf')
    rightmost = float('-inf')
    for i, c in enumerate(s):
        if t_idx >= len(t):
            break
        if c == t[t_idx]:
            t_idx += 1
            last_idx = i
    if t_idx < len(t):
        return -1
    t_idx = len(t) - 1
    while t_idx >= 0:
        while s[last_idx] != t[t_idx]:
            last_idx -= 1
        leftmost = min(leftmost, last_idx)
        rightmost = max(rightmost, last_idx)
        last_idx -= 1
        t_idx -= 1
    return rightmost - leftmost + 1