![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 83
大象漫步
这个作者很懒,什么都没留下…
展开
-
LeetCode 常见数组-矩阵问题(python实现)
本文主要包括了LeetCode中常见的数组、矩阵问题的Python解法。问题列表来自于Github CS-Notes/Leetcode 题解。原创 2020-06-08 19:29:32 · 531 阅读 · 0 评论 -
LeetCode 常见字符串问题 (python实现)
字符串1. 判断两个字符串是否是:同字母异序词LeetCode 242. Valid Anagram (Easy)使用列表实现的哈希表存储s串字符出现的次数,遍历t串字符,对哈希表中的字符进行减法操作,如果出现负数,那么字符数量不匹配,返回False,如果遍历完成不返回False,那么字符串是匹配的,返回True。class Solution: def isAnagram(self, s: str, t: str) -> bool: if len(s) != len(t原创 2020-06-05 00:38:28 · 521 阅读 · 0 评论 -
LeetCode 常见哈希表问题 (python实现)
哈希表从哈希表中取出数据时间复杂度为O(1)O(1)O(1). 哈希表的存储空间复杂度为O(n)O(n)O(n).对于不同的编程语言,其内置哈希表结构不同,实现速度也不同。1. 求数组中两个数的和为给定值LeetCode 1. Two Sum (Easy)首先创建一个空字典。遍历整个数组,每次遍历的同时计算当前item值与target的差值是否已经存在在字典中。如果存在,那么当前遍历值与字典中的插值就是所求结果。直接返回即可。如果不存在,那么将当前值和索引存储在字典中,以便下次计算时候进行查原创 2020-06-05 00:33:58 · 221 阅读 · 0 评论 -
LeetCode 常见栈和队列问题 (python实现)
栈和队列1. 用栈实现队列LeetCode 232. Implement Queue using Stacks (Easy)栈和队列是两种顺序完全相反的数据结构。队列先进先出(First In First Out),栈先进后出(First In Last Out)。可以通过使用两个栈,数据在两个栈之间来回“倒腾”,实现队列的功能。class MyQueue: def __init__(self): """ Initialize your data struc原创 2020-06-05 00:30:47 · 344 阅读 · 0 评论 -
LeetCode 常见二叉树问题 (python实现)
递归树是一种常用递归操作的数据结构。一棵树要么是空,要么有两个指针,指向另外两棵树。1. 树的高度Leet Code 104. Maximun Depth of Binary Tree (Easy)# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.原创 2020-06-03 05:27:45 · 747 阅读 · 0 评论 -
LeetCode 常见链表问题 (python实现)
链表链表问题很多可以采用递归进行操作。递归理清思路的时候,主要考虑问题最简单的情况。当只有一个节点或两个节点的时候,问题是如何解决的。理清递归退出的条件,可以更加清晰代码的作用。1. 找出两个链表的交点 LeetCode 160 Easy问题的核心思想是:两个链表被分成三个部分,a、b、c. 如果他们有共同的交点那么一定有公式a+c+b=b+c+aa+c+b = b+c+aa+c+b=b+c+a,因此当a链表循环到末尾时,跳转到b链表上。那么他们一定会同时到达同一个节点上去。如果不存在共同链c,原创 2020-06-03 00:16:11 · 423 阅读 · 0 评论