mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-01-18 16:27:02 +00:00
add max sum contigous subsequence (#1537)
* add max sum contigous subsequence * fix typo * Add doctest and type hints * Create autoblack.yml
This commit is contained in:
parent
814750e637
commit
c717f8d860
34
.github/workflows/autoblack.yml
vendored
Normal file
34
.github/workflows/autoblack.yml
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
# GitHub Action that uses Black to reformat the Python code in an incoming pull request.
|
||||
# If all Python code in the pull request is complient with Black then this Action does nothing.
|
||||
# Othewrwise, Black is run and its changes are committed back to the incoming pull request.
|
||||
# https://github.com/cclauss/autoblack
|
||||
|
||||
name: autoblack
|
||||
on: [pull_request]
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
max-parallel: 1
|
||||
matrix:
|
||||
python-version: [3.7]
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install psf/black
|
||||
run: pip install black
|
||||
- name: Run black --check .
|
||||
run: black --check .
|
||||
- name: If needed, commit black changes to the pull request
|
||||
if: failure()
|
||||
run: |
|
||||
black .
|
||||
git config --global user.name 'autoblack'
|
||||
git config --global user.email 'cclauss@users.noreply.github.com'
|
||||
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY
|
||||
git checkout $GITHUB_HEAD_REF
|
||||
git commit -am "fixup: Format Python code with psf/black"
|
||||
git push
|
20
dynamic_programming/max_sum_contigous_subsequence.py
Normal file
20
dynamic_programming/max_sum_contigous_subsequence.py
Normal file
|
@ -0,0 +1,20 @@
|
|||
def max_subarray_sum(nums: list) -> int:
|
||||
"""
|
||||
>>> max_subarray_sum([6 , 9, -1, 3, -7, -5, 10])
|
||||
17
|
||||
"""
|
||||
if not nums:
|
||||
return 0
|
||||
n = len(nums)
|
||||
s = [0] * n
|
||||
res, s, s_pre = nums[0], nums[0], nums[0]
|
||||
for i in range(1, n):
|
||||
s = max(nums[i], s_pre + nums[i])
|
||||
s_pre = s
|
||||
res = max(res, s)
|
||||
return res
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
nums = [6, 9, -1, 3, -7, -5, 10]
|
||||
print(max_subarray_sum(nums))
|
Loading…
Reference in New Issue
Block a user