【力扣·数组形式的整数加法】Python解法

思路:将数组中的每一位转成字符形式相加,最终结果转int与k相加,再讲结果转字符串,按位以int形式存入数组。我最开始不是以字符相加形式处理原始数组,我采用的是每一位乘以10的倍数得到数组的整型结果,但是由于乘法的大数限制,当位数过长就会有问题,我就转成字符相加了。

原题如下:

 通过代码如下:

class Solution(object):
    def addToArrayForm(self, num, k):
        """
        :type num: List[int]
        :type k: int
        :rtype: List[int]
        """
        result = ""
        a = len(num)
        re = []
        for i in range(a):
            result = result + str(num[i])
        result = int(result) + k
        result = str(result)
        for i in range(len(result)):
            re.append(int(result[i]))
        return re



 

### 关于 LeetCode 上与数组长度相关的函数或解法LeetCode 平台上处理数组问题时,`length` 属性通常用于获取数组的大小。以下是具体使用方法以及一些常见场景下的代码示例。 #### 获取数组长度的方法 在 Python 中,可以通过 `len()` 方法来获取数组(列表)的长度[^3]。而在 Java 中,则通过 `.length` 属性访问数组的长度[^2]。 --- #### 示例 1: 删除数组中的重复项并返回新长度 这是一个经典的题目,在有序数组中删除重复项,并返回去重后的有效长度。下面分别给出 Python 和 Java 的实现: ##### Python 实现 ```python class Solution: def removeDuplicates(self, nums): if not nums: return 0 slow = 1 for fast in range(1, len(nums)): if nums[fast] != nums[fast - 1]: nums[slow] = nums[fast] slow += 1 return slow ``` 上述代码利用双指针技术完成操作,其中 `len(nums)` 被用来计算原始数组的长度。 ##### Java 实现 ```java public int removeDuplicates(int[] nums) { if (nums.length == 0) return 0; int slow = 1; for (int fast = 1; fast < nums.length; fast++) { if (nums[fast] != nums[fast - 1]) { nums[slow] = nums[fast]; slow++; } } return slow; } ``` 这里同样依赖於 `nums.length` 来判断数组的实际尺寸。 --- #### 示例 2: 移除指定值并调整数组长度 另一个常见的问题是移除数组中的某个特定值,并返回新的有效长度。下面是对应的解决方案: ##### Python 实现 ```python class Solution: def removeElement(self, nums, val): count = 0 for i in range(len(nums)): if nums[i] != val: nums[count] = nums[i] count += 1 return count ``` 此代码片段展示了如何通过计数器变量 `count` 记录保留下来的元素数量,而 `len(nums)` 则提供了初始数组的总长度。 ##### Java 实现 ```java public int removeElement(int[] nums, int val) { int count = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] != val) { nums[count++] = nums[i]; } } return count; } ``` 在这里也运用到了 `nums.length` 进行循环控制。 --- #### 注意事项 - **原地修改**: 需要注意的是,LeetCode 的某些题目要求对输入数组进行「原地」修改,这意味着不允许额外分配空间存储结果数组[^4]。 - **时间复杂度**: 大多数情况下,这类问题的时间复杂度应保持在线性级别 O(n),因此需谨慎设计算法逻辑[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值