Programador의 문제 해결

Trouxe aqui algumas resoluções de algoritmos requisitados em entrevistas. Python 3을 사용할 수 있는 효율적인 프로그래밍이 가능합니다.

Maior número impar de uma lista



Algoritmo que retorna o maior número ímpar de uma lista.

# %% 
from functools import reduce

data0 = [1,2,3,4,5,6,7,8,19,10,11,21,24,12,14,15,22]

def biggestOdd(array):
    return reduce(lambda x, y: x if x > y else y, filter(lambda x: x & 1, array))

print("Problem 1 - " + str(biggestOdd(data0)))


프레이즈 반전



Algoritmo que inverte a frase de entrada, esse algoritmo retorna a frase invertida.

def inversePhrase(phrase):
    return " ".join(phrase.split(" ")[::-1])

print("Problem 2 - " + str(inversePhrase("A frase inteira deve ser revertida")))


계속되는 소마 데 세컨시아



O algoritmo retorna a maior soma de uma sequência contínua.

# %%
def continousSequenceBiggestSum(array):
    max_sum = 0
    for i in range(len(array)):
        for j in range(i, len(array)):
            if sum(array[i:j+1]) > max_sum:
                max_sum = sum(array[i:j+1])
    return max_sum


print("Problem 3 - " + str(continousSequenceBiggestSum(data)))

data2 = [6, -4, -2, 1, -3, 5, -1, 2, 1, 1, -5, 4]
print("Problem 3 - " + str(continousSequenceBiggestSum(data2)))


더 많은 소마 드 시퀀시아 연속 오티미자다



Esse algoritmo também retorna a maior soma de uma sequência contínua, porém é mais reduzido o código.

# %%
def continousSequenceBiggestSum2(array):
  [sum(array[idx:i+1]) for idx, itm in enumerate(array) for i, j in enumerate(array)]


data = [-1, 5, 2, 1, 4, -7, 8, -3, -4, 2]
print(continousSequenceBiggestSum2(data))


Espero que isso te auxilie de alguma forma. 포르투갈어에서 알고리듬과 관련된 척하는 크리어 콘테우도스.

Se você sentiu falta de algo nesse tutorial, por favor commenta pra que eu possa aperfeiçoar meu trabalho.

좋은 웹페이지 즐겨찾기