LeetCode
由浅入深做力扣题,用python为主语言解题,附带解题思路
没有刺的仙人掌
人的一切痛苦,本质上都是对自己无能的痛苦
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法初级----算法的基本原理
何为算法? 算法直白的说就是如果你给我一个数据源,在这个源的结构(即数据结构)上完成的一系列操作。 当通过两种算法解决同一问题,如何比较两个算法的优劣? 时间复杂度:一个算法流程中,常数操作数量的指标,这个指标叫做O,bigO。 空间复杂度:一般提空间复杂度指的是额外空间复杂度,指我给你的输入,输出不算在额外空间里。为了支持你的流程你需要使用多少辅助空间才能完成的那些空间叫...原创 2019-05-03 15:07:13 · 1321 阅读 · 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 · 157 阅读 · 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 · 314 阅读 · 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 · 239 阅读 · 0 评论 -
03.leetcode题目讲解(Python):无重复字符的最长子串
题目: 思路: 采用Python的set,可以知道无重复子串的可能的最大长度,把可能的最大长度作为滑动窗口的初始大小,并在搜索中调节窗口大小直到找到最大无重复子串。 构建一个空字典,其中start表示当前元素最近出现的位置,只在元素再次出现的时候发生变化。 首先,判断当前字典中是否存在当前的元素,如果不存在,添加键值。 如果存在,判断start值即当前元素是否小...原创 2019-05-12 18:52:10 · 152 阅读 · 0 评论 -
07.leetcode题目讲解(Python):整数反转
题目: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,...原创 2019-05-13 20:27:23 · 309 阅读 · 0 评论 -
09.leetcode题目讲解(Python):回文数
题目: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数...原创 2019-06-04 15:50:59 · 377 阅读 · 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 · 497 阅读 · 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 · 215 阅读 · 0 评论
分享