From 0cddc19b7bc606c6455ff5511b4dcc3dabaaf87f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E8=8B=B1=E6=9D=B0?= <327782001@qq.com> Date: Thu, 6 Jul 2023 09:35:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=8B=86=E5=88=86=E6=88=90=E6=9C=80?= =?UTF-8?q?=E5=A4=9A=E6=95=B0=E7=9B=AE=E7=9A=84=E6=AD=A3=E5=81=B6=E6=95=B0?= =?UTF-8?q?=E4=B9=8B=E5=92=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../day04/problem_solving_02_01.py" | 1 - .../day04/problem_solving_02_02.py" | 1 - .../day04/problem_solving_04.py" | 29 +++++++++++++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 "01-\346\225\260\347\273\204/day04/problem_solving_04.py" diff --git "a/01-\346\225\260\347\273\204/day04/problem_solving_02_01.py" "b/01-\346\225\260\347\273\204/day04/problem_solving_02_01.py" index 94059dc..ceb0ce1 100644 --- "a/01-\346\225\260\347\273\204/day04/problem_solving_02_01.py" +++ "b/01-\346\225\260\347\273\204/day04/problem_solving_02_01.py" @@ -1,7 +1,6 @@ """ K 件物品的最大和 """ -from typing import List class Solution: diff --git "a/01-\346\225\260\347\273\204/day04/problem_solving_02_02.py" "b/01-\346\225\260\347\273\204/day04/problem_solving_02_02.py" index 42a7ea9..8183c21 100644 --- "a/01-\346\225\260\347\273\204/day04/problem_solving_02_02.py" +++ "b/01-\346\225\260\347\273\204/day04/problem_solving_02_02.py" @@ -1,7 +1,6 @@ """ K 件物品的最大和 """ -from typing import List class Solution: diff --git "a/01-\346\225\260\347\273\204/day04/problem_solving_04.py" "b/01-\346\225\260\347\273\204/day04/problem_solving_04.py" new file mode 100644 index 0000000..79dcbca --- /dev/null +++ "b/01-\346\225\260\347\273\204/day04/problem_solving_04.py" @@ -0,0 +1,29 @@ +""" +拆分成最多数目的正偶数之和 +""" +from typing import List + + +class Solution: + def maximumEvenSplit(self, finalSum: int) -> List[int]: + """ + 怎么样遍历,只需要遍历一次呢?贪心算法 i不断加 finalSum不断减 + :param finalSum: + :return: + """ + if finalSum % 2 == 1: + return [] + res = [] + i = 2 + while i <= finalSum: + res.append(i) + finalSum -= i + i += 2 + # 当i的值大于finalSum时无法继续遍历,需要把剩余的数加到最后一位上 + res[-1] += finalSum + return res + + +if __name__ == '__main__': + result = Solution().maximumEvenSplit(28) + print(result) -- GitLab