LeetCode Semana 277

LeetCode Semana 277

primera pregunta:

recuento de elementos

Esta pregunta se centra en la clasificación, y el número de valores intermedios calculados después de la clasificación es el resultado de la respuesta. ¡Esta pregunta es una pregunta de inicio de sesión, y todos deben responderla directamente!

Código:

class Solution:
    def countElements(self, nums: List[int]) -> int:
        nums.sort()
        sum = 0
        for index,i in enumerate(nums):
            if index == 0 or index == len(nums) -1 :
                continue
            if i > nums[0] and i < nums[-1]:
                sum += 1
        return sum

Segunda pregunta:

reorganizar matriz por símbolo

Personalmente, creo que la dificultad de esta pregunta no es una middificultad, debería dársele la easydificultad. Tal vez el juego de esta semana sea relativamente simple, así que contémoslo midcomo uno.

Es demasiado simple, no hablaré sobre la idea, ¡solo puedes mirar el código!

Código:

class Solution:
    def rearrangeArray(self, nums: List[int]) -> List[int]:
        n1 = []
        n2 = []
        n = []
        for i in nums:
            if i>0:
                n1.append(i)
            else:
                n2.append(i)
        for j in range(len(n1)):
            n.append(n1[j])
            n.append(n2[j])
        nums[:] = n
        return nums

Tercera pregunta:

Encuentra todos los números solitarios en una matriz

Esta pregunta necesita ser ordenada primero, y luego atravesada y juzgada.

Código:

class Solution:
    def findLonely(self, nums: List[int]) -> List[int]:
        if len(nums) == 1:
            return nums
        nums.sort()
        lone = []
        dit = {
    
    }
        for i in set(nums):
            dit[i] = 0
        for i in nums:
            dit[i] +=1
        for i in range(len(nums)):
            if i == 0 and dit[nums[i]] == 1  and nums[i+1] - 1 != nums[i] :
                lone.append(nums[i])
            elif i == len(nums) - 1 and dit[nums[i]] == 1 and nums[i-1] + 1 != nums[i]:
                lone.append(nums[i])
            elif i != 0 and i != len(nums) - 1 and nums[i-1] + 1 != nums[i] and nums[i+1] - 1 != nums[i] and dit[nums[i]] == 1:
                lone.append(nums[i])
        return lone

Cuarta pregunta:

Cuente el mejor número de personas según la declaración.

Esta pregunta también es la pregunta final de esta competencia semanal. Es una pregunta de pensamiento de la escuela primaria, pero también me ganó jajaja. Después del juego, leí las respuestas de los grandes en el área de suma y y resolución de problemas. , y probablemente sabía cómo escribirlo. Solo tengo algunas ideas. Esta pregunta puede usar directamente el método de enumeración de fuerza bruta porque su cálculo de rango está dentro del rango requerido por la fuerza. La máxima complejidad de este problema es 2的n次方乘n的方, y la complejidad de la enumeración de fuerza bruta es 2的n次方乘n. ¡Así se establece la ley del empadronamiento violento!

Referirse a la idea de un gran hombre:

inserte la descripción de la imagen aquí

Código:

class Solution:
    def maximumGood(self, statements: List[List[int]]) -> int:
        n = len(statements)
        res = 0
        for i in range(2**n):
            falg = True
            c = 0
            for j in range(n):
                if (i>>j)&1:
                    c += 1
                    for k in range(n):
                        if statements[j][k] != 2 and statements[j][k] != ((i>>k)&1):
                            falg = False
                            break
            if falg == True:
                res = max(res,c)    
        return res

Resumir:

Esta competencia semanal también es mi segunda competencia semanal, porque es relativamente fácil obtener las tres primeras preguntas en esta competencia semanal, por lo que todos somos ac, y las dos primeras preguntas fueron ac en la última competencia semanal, y espero hacer progreso con todos. Les deseo todo lo mejor. ¡En el nuevo año, el camino hacia ac crecerá por completo! ! ! ¡Vamos, vamos, y espero que este artículo te sea útil! ! !

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_54355125/article/details/122656222
Recomendado
Clasificación