3 长行

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1w+

LeetCode题解(0019):删除链表的倒数第N个节点(Python)

题目:原题链接(中等)标签:链表-双指针、链表-遍历解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)40ms (81.69%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(双指针):def removeNthFromEnd(self, head:

2020-07-12 12:34:02

《大话数据结构》配套源码:队列(Python版)

该书随书源码的语言为C;我参考书中内容和配套源码,写了一套Python格式的配套源码。这套配套源码并非直接翻译C语言的配套源码,而是结合我的理解略作了修改。 【Github项目地址】作者:长行时间:2020.07.12Queue 队列的结构定义class Queue: """队列的结构定义""" def __init__(self): """初始化一个空队列""" pass def __len__(self): """返.

2020-07-12 11:02:38

《大话数据结构》配套源码:栈(Python版)

该书随书源码的语言为C;我参考书中内容和配套源码,写了一套Python格式的配套源码。这套配套源码并非直接翻译C语言的配套源码,而是结合我的理解略作了修改。 【Github项目地址】作者:长行时间:2020.07.12Stack 栈的结构定义class Stack: """栈的结构定义""" def __init__(self): """初始化一个空栈""" pass def __len__(self): """返回栈内.

2020-07-12 10:10:23

《大话数据结构》配套源码:链表(Python版)

该书随书源码的语言为C;我参考书中内容和配套源码,写了一套Python格式的配套源码。这套配套源码并非直接翻译C语言的配套源码,而是结合我的理解略作了修改。 【Github项目地址】作者:长行时间:2020.07.12LinkedList 链表 (第3章 - 第2部分)SinglyLinkedNode 单链表结点class SinglyLinkedNode: """单链表结点""" __slots__ = "value", "next" # 使用__slots__减少内存占.

2020-07-12 09:19:22

【数据结构专项】链表(2) —— 链表的基本操作(Python)

单链表的基本操作(包含头结点的单链表)# 单链表结点类class ListNode: def __init__(self, val): self.val = val self.next = None def __str__(self): return str(self.val) + "->" + str(self.next)单链表的读取(给定读取坐标):读取第index个结点的值。(时间复杂度:O(n))# 单链表的读

2020-07-07 12:40:27

【数据结构专项】链表(7) —— 管理双向链表的基本类(使用双侧哨兵结点)

class DoublyLinkedBase: """管理双向链表的基本类(使用双侧哨兵结点)""" class _Node: __slots__ = "value", "prev", "next" # 因为会创建很多个结点对象,因此使用__slots__来减少内存占用 def __init__(self, value, prev=None, next=None): self.value = value s

2020-07-07 12:02:06

【数据结构专项】链表(6) —— 管理单向链表的基本类(包含头结点)

class SinglyLinkedList: """管理单向链表的基本类(使用头结点)""" class _Node: __slots__ = "value", "next" # 因为会创建很多个结点对象,因此使用__slots__来减少内存占用 def __init__(self, value, next=None): self.value = value self.next = next

2020-07-07 11:43:12

LeetCode题解(0707):设计链表(Python)

题目:原题链接(中等)标签:单链表、设计解法时间复杂度空间复杂度执行用时Ans 1 (Python)––208ms (77.36%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:class MyLinkedList: class _Node: """""" __slo

2020-07-07 11:37:35

【数据结构专项】链表(5) —— 用循环链表实现队列

用循环链表实现队列队首位于单链表的头结点处,队尾位于单链表的尾结点处,尾结点的指针域指向头结点;维护尾指针和链表长度;当加入元素时,依据尾指针在尾结点后添加新元素,取出元素时候依据尾指针,取出尾结点指向的头结点元素并删除头结点。class CircularQueue: """用循环链表实现队列""" class _Node: """""" __slots__ = "value", "next" # 因为会创建很多个结点对象,因此使用__slots__来

2020-07-07 10:35:34

【数据结构专项】链表(4) —— 用单链表实现队列(Python)

用单链表实现队列队首位于单链表的头结点处,队尾位于单链表的尾结点处,维护头指针、尾指针和链表长度;加入元素时依据尾指针添加到尾结点后,取出元素时候依据头指针取出元素并删除头结点。class LinkedQueue: """单链表实现的队列""" class _Node: """""" __slots__ = "value", "next" # 因为会创建很多个结点对象,因此使用__slots__来减少内存占用 def __init__

2020-07-07 10:23:54

【数据结构专项】链表(3) —— 用单链表实现栈(Python)

用单链表实现栈栈顶位于单链表的头结点处,维护头指针和链表长度;每次压入元素则在头结点前插入新结点,取出元素则删除头结点。class LinkedStack: """单链表实现的栈""" class _Node: """""" __slots__ = "value", "next" # 因为会创建很多个结点对象,因此使用__slots__来减少内存占用 def __init__(self, value, next):

2020-07-07 10:23:00

【数据结构专项】链表(1) —— 知识回顾

知识回顾与数组相似,链表是一种线性数据结构。链表中的每个元素都是一个单独的对象(结点/节点,Node), 每个元素除了存储自己本身的信息(数据域)之外,还存储一个指示下一个元素位置的引用字段(指针域)。单链表单链表的每个结点包含值和下一个结点的引用字段。单链表结点的典型定义如下:# 单链表结点的典型定义class ListNode: def __init__(self, val): self.val = val self.next = None环形链

2020-07-07 10:21:07

Python类的__slot__的用法

参考文献A

2020-07-07 09:44:51

LeetCode题解(1502):判断能否形成等差数列(Python)

题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(NlogN)O(NlogN)O(NlogN)O(N)O(N)O(N)44ms (100.00%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(排序法):[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(i

2020-07-06 17:28:35

LeetCode题解(1496):判断路径是否相交(Python)

题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)32ms (96.86%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(存储到过的位置):def isPathCrossing(self, path: str) -> boo

2020-07-06 17:25:38

LeetCode题解(1491):去掉最低工资和最高工资后的工资平均值(Python)

题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)36ms (83.26%)Ans 2 (Python)O(N)O(N)O(N)O(1)O(1)O(1)32ms (95.38%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def average(self,

2020-07-06 17:21:42

LeetCode题解(1486):数组异或操作(Python)

题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)40ms (71.92%)Ans 2 (Python)O(N)O(N)O(N)O(1)O(1)O(1)40ms (71.92%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def xorOperation(

2020-07-06 17:16:43

LeetCode题解(1480):一维数组的动态和(Python)

题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)36ms (90.54%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def runningSum(self, nums: List[int]) -> List[int]:

2020-07-06 17:11:34

LeetCode题解(1475):商品折扣后的最终价格(Python)

题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N2)O(N^2)O(N2)O(1)O(1)O(1)44ms (82.78%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(暴力解法):def finalPrices(self, prices: List[int]) -&g

2020-07-06 17:10:05

LeetCode题解(1470):重新排列数组(Python)

题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)36ms (93.82%)Ans 2 (Python)O(N)O(N)O(N)O(1)O(1)O(1)40ms (81.07%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def shuffle(self,

2020-07-06 17:04:52

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取