Study Plan For Algorithms - Part14

WindMay發表於2024-08-28

1. 移除元素
題目連結:https://leetcode.cn/problems/remove-element/
給定一個陣列 nums 和一個值 val,需要 原地 移除所有數值等於 val 的元素。元素的順序可能發生改變。然後返回 nums 中與 val 不同的元素的數量。

class Solution:
    def removeElement(self, nums: List[int], val: int) -> int:
        i = 0
        for j in range(len(nums)):
            if nums[j]!= val:
                nums[i] = nums[j]
                i += 1
        return i

2. 找出字串中第一個匹配項的下標
題目連結:https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/
給定兩個字串 haystack 和 needle ,請在 haystack 字串中找出 needle 字串的第一個匹配項的下標(下標從 0 開始)。如果 needle 不是 haystack 的一部分,則返回 -1 。

class Solution:
    def strStr(self, haystack: str, needle: str) -> int:
        for i in range(len(haystack) - len(needle) + 1):
            if haystack[i:i + len(needle)] == needle:
                return i
        return -1

相關文章