<commit_before># Exemplos de funções para achar maior número de um vetor
# Os 2 métodos são recursivos, porém apenas a MaxDC utiliza divisão e conquista
# <NAME> - 2021
# https://github.com/DantasB

import random
from functools import reduce

# Maximo usando Divisão e Conquista


def max_dc(vetor, left, right):
    if left == right:
        return vetor[left]

    mid = int((left + right) / 2)

    max_1 = max_dc(vetor, left, mid)
    max_2 = max_dc(vetor, mid+1, right)

    return max_1 if max_1 > max_2 else max_2


def max_1(vetor, maximo, indice):
    if vetor[indice] > maximo:
        maximo = vetor[indice]

    if indice < len(vetor) - 1:
        max_1(vetor, maximo, indice+1)
    else:
        print(f"Max1: {maximo}")


if __name__ == "__main__":
    vetor = [0 for _ in range(0, 10)]

    for i in range(len(vetor)):
        vetor[i] = random.randrange(10, 100)

    print(vetor)

    max_1(vetor, vetor[0], 1)

    print(f"Max DC: {max_dc(vetor, 0, len(vetor)-1)}")

    print(f"Max Lambda: {max_dc(vetor, 0, len(vetor)-1)}")
<commit_msg>Minor Changes<commit_after># Exemplos de funções para achar maior número de um vetor
# Os 2 métodos são recursivos, porém apenas a MaxDC utiliza divisão e conquista
# <NAME> - 2021
# https://github.com/DantasB

import random

# Maximo usando Divisão e Conquista


def max_dc(vetor, left, right):
    if left == right:
        return vetor[left]

    mid = int((left + right) / 2)

    max_1 = max_dc(vetor, left, mid)
    max_2 = max_dc(vetor, mid+1, right)

    return max_1 if max_1 > max_2 else max_2


def max_recursive(vetor, maximo, indice) -> int:
    result = maximo
    if vetor[indice] > result:
        result = vetor[indice]

    if indice < len(vetor) - 1:
        max_recursive(vetor, result, indice+1)
    else:
        return result


if __name__ == "__main__":
    vetor = [random.randrange(10, 100) for _ in range(0, 10)]

    print(vetor)
    print(f"Max Recursive: {max_recursive(vetor, vetor[0], 1)}")
    print(f"Max DC: {max_dc(vetor, 0, len(vetor)-1)}")

{'fraction_non_alphanumeric': 0.11845210004719207, 'fraction_numerical': 0.02878716375648891, 'mean_word_length': 2.667820069204152, 'pattern_counts': {'":': 2, '<': 7, '<?xml version=': 0, '>': 10, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4411673', 'n_tokens_mistral': 891, 'n_tokens_neox': 798, 'n_words': 221}