美文网首页
2020-11-03 leetcode刷题记录 5道

2020-11-03 leetcode刷题记录 5道

作者: 是黄小胖呀 | 来源:发表于2020-11-03 23:38 被阅读0次

1、217. 存在重复元素

给定一个整数数组,判断是否存在重复元素。

如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。

关键点:哈希表:

class Solution:

    def containsDuplicate(self, nums: List[int]) -> bool:

        a={}

        for i in range(len(nums)):

            if nums[i] in a:

                a[nums[i]]+=1

            else:

                a[nums[i]]=1

        for i in range(len(nums)):

            if a[nums[i]]>=2:

                return True

        return False

2、237. 删除链表中的节点

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。

关键点:直接修改节点

# Definition for singly-linked list.

# class ListNode:

#     def __init__(self, x):

#         self.val = x

#         self.next = None

class Solution:

    def deleteNode(self, node):

        """

        :type node: ListNode

        :rtype: void Do not return anything, modify node in-place instead.

        """

        node.val = node.next.val

        node.next = node.next.next

3、242. 有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

关键点:哈希表:

class Solution:

    def isAnagram(self, s: str, t: str) -> bool:

        k1=len(s)

        k2=len(t)

        if k1!=k2:

            return False

        else:

            s1={}

            for i in range(len(s)):

                if s[i] in s1:

                    s1[s[i]]+=1

                else:

                    s1[s[i]]=1

            t1={}

            for i in range(len(t)):

                if t[i] in t1:

                    t1[t[i]]+=1

                else:

                    t1[t[i]]=1

            for i in s1:

                if i not in t1 or s1[i]!=t1[i]:

                    return False

            return True

4、268. 丢失的数字

给定一个包含 [0, n]中n个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。

关键点:哈希表:

class Solution:

    def missingNumber(self, nums: List[int]) -> int:

        hash1={}

        for i in range(len(nums)):

            if nums[i] in hash1:

               hash1[nums[i]]+=1

            else:

                hash1[nums[i]]=1

        for i in range(len(nums)+1):

            if i not in hash1:

                return i

326. 3的幂

给定一个整数,写一个函数来判断它是否是 3 的幂次方。

关键点:循环和判断

class Solution:

    def isPowerOfThree(self, n: int) -> bool:

        if n==0:

            return False

        elif n==1:

            return True

        while n>=2:

              if n%3==0:

                    n=n/3

                    if n==1:

                        return True

              else:

                  return False

        return False

写于20201103晚11点

相关文章

网友评论

      本文标题:2020-11-03 leetcode刷题记录 5道

      本文链接:https://www.haomeiwen.com/subject/vulwvktx.html