三道leetcode题&一个带权有向图的ADT的python实现【3.22】

本文介绍了两个LeetCode题目,包括将非零整数数组加一的操作及寻找最大和的连续子数组。针对加一操作,文章提供了解题思路;对于最大子数组和问题,讨论了基础解法。此外,还提及了如何将无权有向图转换为带权有向图,提出使用字典套字典的数据结构作为解决方案。
摘要由CSDN通过智能技术生成

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

示例 1:

输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
示例 2:

输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。
我的解法

class Solution(object):
    def plusOne(self, digits):
        """
        :type digits: List[int]
        :rtype: List[int]
        """
        num = digits[0]
        for i in range(len(digits) - 1):
            j = i + 1
            num = num * 10 + digits[j]
        num1 = num + 1
        result = []
        for i in range(len(digits)):
            result.append(num1 % 10)
            num1 = int(num1 / 10)
        if num1==1:
            result.append(1)
        return list(reversed(result))

我的小垃圾解法。。。解了一个小时,但是我还是很开心肿么回事
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

示例:

输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
进阶:

如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。
大神解法

class Solution(object):
    def maxSubArray(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        res=nums[0]
        sum=0
        for i in range(len(nums)):
            if sum>0:
                sum
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值