leetcode笔记(Python版)待更新

简介: leetcode笔记(Python版)待更新

LeetCodeTop100 题目


1    两数之和 42.20% Easy  


2    两数相加 30.70%    Medium  


3    无重复字符的最长子串 28.00%    Medium  


4    寻找两个有序数组的中位数 25.60%    Hard  


5    最长回文子串 26.70%    Medium  


10    正则表达式匹配 25.00%    Hard  


11    盛最多水的容器 42.80%    Medium  


15    三数之和 23.50%    Medium  


17    电话号码的字母组合 40.50%    Medium  


19    删除链表的倒数第N个节点 34.00%    Medium  


20    有效的括号 36.00%    Easy  


21    合并两个有序链表 46.00%    Easy  


22    括号生成 53.30%    Medium  


23    合并K个排序链表 33.10%    Hard  


31    下一个排列 30.10%    Medium  


32    最长有效括号 25.00%    Hard  


33    搜索旋转排序数组 32.70%    Medium  


34    在排序数组中查找元素的第一个和最后一个位置 33.00%    Medium  


39    组合总和 46.90%    Medium  


42    接雨水 42.00%    Hard  


46    全排列 53.60%    Medium  


48    旋转图像 47.00%    Medium  


49    字母异位词分组 45.00%    Medium  


53    最大子序和 42.90%    Easy  


55    Jump Game 31.40%    Medium  


56    合并区间 34.90%    Medium  


62    不同路径 46.50%    Medium  


64    最小路径和 45.70%    Medium  


70    爬楼梯 43.50%    Easy  


72    编辑距离 36.50%    Hard  


75    颜色分类 41.40%    Medium  


76    最小窗口字串 29.90%    Hard  


78    子集 51.20%    Medium  


79    单词搜索 30.50%    Medium  


84    柱状图中最大的矩形 30.30%    Hard  


85    最大矩形 32.50%    Hard  


94    二叉树的中序遍历 55.20%    Medium  


96    不同的二叉搜索树 45.20%    Medium  


98    验证二叉搜索树 25.30%    Medium  


101    对称二叉树 42.80%    Easy  


102    二叉树的层次遍历 47.20%    Medium  


104    二叉树的最大深度 59.30%    Easy  


105    从前序与中序遍历序列构造二叉树 39.60%    Medium  


114    二叉树展开为链表 41.20%    Medium  


121    买卖股票的最佳时机 46.30%    Easy  


124    求二叉树的最大路径和 29.40%    Hard  


128    最长连续序列 41.00%    Hard  


136    只出现一次的数字 59.10%    Easy  


139    单词拆分 34.40%    Medium  


141    环形链表 35.90%    Easy  


142    环形链表 II 31.00%    Medium  


146    LRU缓存机制 24.20% Medium  


148    排序链表 34.10%    Medium  


152    乘积最大子序列 28.60%    Medium  


155    最小栈 35.80%    Easy  


160    相交链表 32.40%    Easy  


169    求众数 51.60%    Easy  


198    打家劫舍 40.80%    Easy  


200    岛屿的个数 40.40%    Medium  


206    反转链表 52.90%    Easy  


207    课程表 36.80%    Medium  


208    实现 Trie (前缀树) 36.90%    Medium  


215    数组中的第K个最大元素 46.20%    Medium  


221    最大正方形 32.30%    Medium  


226    翻转二叉树 57.10%    Easy  


234    回文链表 35.40%    Easy  


236    二叉树的最近公共祖先 35.60%    Medium  


238    除自身以外数组的乘积 54.00%    Medium  


239    滑动窗口最大值 37.20%    Hard  


240    搜索二维矩阵 II 40.30%    Medium  


253    会议室 II 42.30%    Medium  


279    完全平方数 41.00%    Medium  


283    移动零 53.70%    Easy  


287    寻找重复数 48.50%    Medium  


297    二叉树的序列化和反序列化 39.50%    Hard  


300    最长上升子序列 40.30%    Medium  


301    移除非法括号 38.50%    Hard  


309    最佳买卖股票时机含冷冻期 43.50%    Medium  


312    打气球游戏 46.40%    Hard  


322    零钱兑换 29.20%    Medium  


337    题目337.打家劫舍之三 47.40%    Medium  


338    比特位计数 64.00%    Medium  


347    前K个高频元素 53.60%    Medium  


394    解码字符串 44.00%    Medium  


399 除法求值 47.40%    Medium  


406    题目406.根据身高重建队列 59.00%    Medium  


416    题目416.分割等和子集 40.00%    Medium  


437    二叉树中和为某一值的路径三 42.00%    Easy  


438    找到字符串中所有字母异位词 36.50%    Easy  


448    找到所有数组中消失的数字 52.80%    Easy  


461    汉明距离 70.10%    Easy  


494    目标和 44.90%    Medium  


538    把二叉搜索树转换为累加树 50.00%    Easy  


543    二叉树的直径 46.20%    Easy  


560    和为K的子数组 41.70%    Medium  


581    最短无序连续子数组  29.60%    Easy  


617    合并二叉树 69.30%    Easy  


621    Task Scheduler 44.50%    Medium  


647    回文子串 56.00%    Medium  


739 每日温度 59.80%    Medium  


771 珠宝和石头 83.00%    Easy  


自我总结


1.反转链表:

class Solution:
    # 返回ListNode
    def ReverseList(self, pHead):
        # write code here
        if pHead == None or pHead.next == None:#若链表为空或只有一个数就直接返回0
            return pHead
        pre = None#定义一个空链表
        while pHead:
            nex = pHead.next
            pHead.next = pre
            pre = pHead#指针后移
            pHead = nex#指针后移
        return pre

2.数组排序 可直接return sorted(arr)

class Solution:
    def MySort(self , arr ):
        len_1 = len(arr)
        list_1 = []
        for i in range(len_1):
            list_1.append(arr[i])
        list_1.sort()
        return list_1


3.判断链表是否有环

class Solution:
    def hasCycle(self , head ):
        # write code here
        if head is None or head.next is None:
            return False
        first = head.next
        last = head.next.next
        while last is not None:
            if first.val == last.val:
                return True
            first = first.next
            if last.next is None or last.next.next is None:
                return False
            last = last.next.next
        return False


4.分别按照二叉树先序,中序和后序打印所有的节点。

class Solution:
    def threeOrders(self , root ):
        ans = [[],[],[]]
        def dfs(root):
            if not root:
                return
            ans[0].append(root.val)
            dfs(root.left)
            ans[1].append(root.val)
            dfs(root.right)
            ans[2].append(root.val)
            return
        dfs(root)
        return ans

5.二分查找

class Solution:
    def upper_bound_(self , n , v , a ):
        # write code here
        if a[-1]<v:
            return n+1
        left = 0
        right = n-1
        while left<right:
            mid = (left+right)//2
            if a[mid]>=v:
                right = mid
            if a[mid]<v:
                left = mid+1
        return left+1
目录
相关文章
|
2月前
|
搜索推荐 Python
Leecode 101刷题笔记之第五章:和你一起你轻松刷题(Python)
这篇文章是关于LeetCode第101章的刷题笔记,涵盖了多种排序算法的Python实现和两个中等难度的编程练习题的解法。
23 3
|
2月前
|
存储 开发工具 Python
【Python项目】外星人入侵项目笔记
【Python项目】外星人入侵项目笔记
43 3
|
2月前
|
存储 Python
【免费分享编程笔记】Python学习笔记(二)
【免费分享编程笔记】Python学习笔记(二)
44 0
【免费分享编程笔记】Python学习笔记(二)
|
2月前
|
算法 C++ Python
Leecode 101刷题笔记之第四章:和你一起你轻松刷题(Python)
这篇博客是关于LeetCode上使用Python语言解决二分查找问题的刷题笔记,涵盖了从基础到进阶难度的多个题目及其解法。
20 0
|
2月前
|
算法 C++ Python
Leecode 101刷题笔记之第三章:和你一起你轻松刷题(Python)
本文是关于LeetCode算法题的刷题笔记,主要介绍了使用双指针技术解决的一系列算法问题,包括Two Sum II、Merge Sorted Array、Linked List Cycle II等,并提供了详细的题解和Python代码实现。
15 0
|
2月前
|
算法 C++ 索引
Leecode 101刷题笔记之第二章:和你一起你轻松刷题(Python)
本文是关于LeetCode 101刷题笔记的第二章,主要介绍了使用Python解决贪心算法题目的方法和实例。
12 0
|
2月前
|
并行计算 Python
Python错误笔记(一):CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up env
这篇文章讨论了CUDA初始化时出现的未知错误及其解决方案,包括重启系统和安装nvidia-modprobe。
162 0
|
2月前
|
索引 Python
【免费分享编程笔记】Python学习笔记(一)
【免费分享编程笔记】Python学习笔记(一)
38 0
|
4月前
|
Python
【python】】Python 的 queue 模块使用笔记
【python】】Python 的 queue 模块使用笔记
46 0
|
4月前
|
Python
Python笔记9 类
本文是作者的Python复习笔记第九篇,深入探讨了Python中的类和面向对象编程。文中详细解释了如何创建类、实例化对象、定义和使用类方法,以及类的继承、重写方法和嵌套类的使用。此外,还讨论了类模块的导入和导出,包括处理类之间的依赖关系。通过示例代码,文章展示了类在Python编程中的应用和重要性。
29 0