LeetCode
由浅入深做力扣题,用python为主语言解题,附带解题思路
没有刺的仙人掌
人的一切痛苦,本质上都是对自己无能的痛苦
展开
-
算法初级----算法的基本原理
何为算法? 算法直白的说就是如果你给我一个数据源,在这个源的结构(即数据结构)上完成的一系列操作。当通过两种算法解决同一问题,如何比较两个算法的优劣?时间复杂度:一个算法流程中,常数操作数量的指标,这个指标叫做O,bigO。 空间复杂度:一般提空间复杂度指的是额外空间复杂度,指我给你的输入,输出不算在额外空间里。为了支持你的流程你需要使用多少辅助空间才能完成的那些空间叫...原创 2019-05-03 15:07:13 · 1177 阅读 · 0 评论 -
算法初级----经典排序详讲
插入排序:时间复杂度为O(N^2),空间复杂度为O(1) 选择排序:时间复杂度为O(N^2),空间复杂度为O(1) 冒泡排序:时间复杂度为O(N^2),空间复杂度为O(1) 归并排序:时间复杂度为O(N*logN),空间复杂度为O(N) 快速排序:时间复杂度为O(N*logN),空间复杂度为O(logN) 堆排序:时间复杂度为O(N*logN),空间复杂度为O(1)一、冒泡排序细节详解...原创 2019-05-06 21:32:00 · 101 阅读 · 0 评论 -
01.leetcode题目讲解(Python):两数之和
题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]这道题的解题思路很简单,利用python中的字典记录记录下每个元素出现的位置,也就是其...原创 2019-04-28 18:28:11 · 222 阅读 · 0 评论 -
02.leetcode题目讲解(Python):两数相加
题目:给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807思路:将l1 和 l2...原创 2019-05-07 18:53:11 · 176 阅读 · 0 评论 -
03.leetcode题目讲解(Python):无重复字符的最长子串
题目:思路: 采用Python的set,可以知道无重复子串的可能的最大长度,把可能的最大长度作为滑动窗口的初始大小,并在搜索中调节窗口大小直到找到最大无重复子串。构建一个空字典,其中start表示当前元素最近出现的位置,只在元素再次出现的时候发生变化。 首先,判断当前字典中是否存在当前的元素,如果不存在,添加键值。 如果存在,判断start值即当前元素是否小...原创 2019-05-12 18:52:10 · 100 阅读 · 0 评论 -
07.leetcode题目讲解(Python):整数反转
题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1: 输入: 123 输出: 321示例 2: 输入: -123 输出: -321示例 3: 输入: 120 输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,...原创 2019-05-13 20:27:23 · 221 阅读 · 0 评论 -
09.leetcode题目讲解(Python):回文数
题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数...原创 2019-06-04 15:50:59 · 288 阅读 · 0 评论 -
13.leetcode题目讲解(Python):罗马数字转整数
题目:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M ...原创 2019-06-04 15:57:54 · 420 阅读 · 1 评论 -
107.leetcode题目讲解(C++):二叉树的层次遍历 II
题目:给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]]来源:力扣(LeetCod...原创 2019-07-16 22:37:41 · 140 阅读 · 0 评论