力扣72编辑距离python
时间: 2023-11-21 18:58:43 浏览: 160
以下是力扣72编辑距离的Python代码实现:
```python
class Solution:
def minDistance(self, word1: str, word2: str) -> int:
n1, n2 = len(word1), len(word2)
dp = [[0] * (n2 + 1) for _ in range(n1 + 1)]
for i in range(n1 + 1):
dp[i][0] = i
for j in range(n2 + 1):
dp[0][j] = j
for i in range(1, n1 + 1):
for j in range(1, n2 + 1):
if word1[i - 1] == word2[j - 1]:
dp[i][j] = dp[i - 1][j - 1]
else:
dp[i][j] = min(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]) + 1
return dp[n1][n2]
```
相关问题
力扣两数相加python
好的,这是力扣上的两数相加问题的 Python 代码示例:
```python
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
carry = 0
dummy = ListNode(0)
curr = dummy
while l1 or l2 or carry:
val1 = l1.val if l1 else 0
val2 = l2.val if l2 else 0
carry, val = divmod(val1 + val2 + carry, 10)
curr.next = ListNode(val)
curr = curr.next
l1 = l1.next if l1 else None
l2 = l2.next if l2 else None
return dummy.next
```
其中,`l1` 和 `l2` 是两个非空的链表,表示两个非负数,链表中每个节点的值都是 0-9 的数字,且按照逆序方式存储数字,即第一个节点包含最低位的数字。函数需要返回一个新的链表,表示两个数相加的和,同样按照逆序方式存储数字,如果有进位则需要将进位加入到下一个节点中。
力扣题库移除元素python
力扣(LeetCode)是一个著名的在线算法题库,它提供了一系列编程题目用于练习和提升技能。如果你在LeetCode上遇到移除数组元素的问题,通常会涉及到数据结构和算法的知识,比如数组操作、哈希集合或者双指针等。
例如,有一道经典的题目叫做“删除数组中的重复元素”(Remove Duplicates from Sorted Array),你可以用Python的列表推导式或者内置函数简单解决。这里是一个简单的例子:
```python
def removeDuplicates(nums):
if not nums:
return 0
i = 1
for num in nums:
if num != nums[i - 1]:
i += 1
nums[i - 1] = num
return i
```
在这个函数中,我们遍历输入数组`nums`,如果当前元素不等于前一个元素,就将索引i加一,并将该元素移动到新位置。最后返回索引i,即新的长度,因为数组的新长度就是不重复元素的数量。
阅读全文
相关推荐















