自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

清风阁

我在黑夜中游走,为天明而奋斗!

  • 博客(35)
  • 收藏
  • 关注

原创 LeetCode258——各位相加

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/add-digits/description/题目描述:知识点:数学思路一:循环求解时间复杂度和空间复杂度均与输入的数字有关。JAVA代码:public class Solution {...

2019-02-27 09:31:57 223

原创 LeetCode257——二叉树的所有路径

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/binary-tree-paths/description/题目描述:知识点:树、深度优先遍历、递归思路:利用递归实现二叉树的深度优先遍历递归出口:(1)如果root为null,说明这是一棵空树...

2019-02-27 09:11:02 382

原创 LeetCode242——有效的字母异位词

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/valid-anagram/description/题目描述:知识点:排序、哈希表思路一:排序时间复杂度是O(nlogn),其中n为输入字符串的长度。空间复杂度是O(n)。JAVA代码:p...

2019-02-26 16:53:31 208

原创 LeetCode241——为运算表达式设计优先级

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/different-ways-to-add-parentheses/description/题目描述:知识点:分治算法、递归思路:对字符串中的每个符号分而治之遍历输入字符串中的每一个运算符,分别递归...

2019-02-26 16:40:36 518

原创 简单工厂模式

定义定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。模式结构简单工厂包含以下3个角色:(1)Factory(工厂角色):工厂角色即工厂类,它是简单工厂模式的核心,负责实现创建所有产品实例的内部逻辑;工厂类可以被外界直接调用,创建所需的产品对象;在工厂类中提供了静态的工厂方法factoryMethod(),它的返回类型为抽象产品类型Produc...

2019-02-24 16:26:47 245

原创 7个常用的面向对象设计原则

1 单一职责原则单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。定义:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。单一职责原则的另一种定义方式:就一个类而言,应该仅有一个引起它变化的原因。在软件系统中,一个类(大到模块,小到方法)承担的职责越多,它被复用的可能性就越小,而且一个类承担的职责过多,相当于将这些职责耦合在一起,当其中一个职责变化时可能...

2019-02-24 15:54:21 3739 1

原创 LeetCode240——搜索二维矩阵II

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/search-a-2d-matrix-ii/description/题目描述:知识点:分治算法、二分查找法思路一:暴力破解法时间复杂度是O(m * n),其中m为矩形的行数,n为矩阵的列数。空间复杂...

2019-02-23 09:43:21 364

原创 LeetCode239——滑动窗口最大值

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/sliding-window-maximum/description/题目描述:知识点:双端队列思路一:暴力破解法时间复杂度是O((n - k) * k),其中n为nums数组的长度。JAVA代...

2019-02-20 20:32:50 281

原创 LeetCode238——除自身以外数组的乘积

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/product-of-array-except-self/description/题目描述:知识点:数组思路一:暴力破解法时间复杂度是O(n ^ 2),其中n是数组的长度。空间复杂度是O(1)。...

2019-02-12 16:18:49 206

原创 LeetCode237——删除链表中的节点

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/description/题目描述:知识点:链表思路:用下一个节点的值替换当前节点的值,再删除下一个节点即可众所周知,想删除链表中的一个节点,...

2019-02-12 15:49:29 460

原创 LeetCode236——二叉树的最近公共祖先

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/description/题目描述:知识点:二叉树、递归思路:递归寻找二叉树的最近公共祖先如果root为null或者p、...

2019-02-12 15:35:20 694

原创 LeetCode235——二叉搜索树的最近公共祖先

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/description/题目描述:知识点:二叉搜索树思路:递归寻找二叉搜索树的最近公共祖先如果给定q、p...

2019-02-12 14:34:55 450

原创 LeetCode234——回文链表

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/palindrome-linked-list/description/题目描述:知识点:链表思路:快慢双指针遍历链表,再将后半部分链表翻转关于反转链表函数的实现,请见LeetCode206——反转链...

2019-02-12 14:26:18 234

原创 LeetCode232——用栈实现队列

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/implement-queue-using-stacks/description/题目描述:知识点:栈、队列思路:双栈实现队列push(x)和empty()的时间复杂度是O(1)。pop()和p...

2019-02-12 14:14:35 423

原创 LeetCode231——2的幂

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/power-of-two/description/题目描述:知识点:位运算思路一:每次除2判断其对2取余的值时间复杂度是O(logn)。空间复杂度是O(1)。JAVA代码:public c...

2019-02-12 14:08:03 275

原创 LeetCode230——二叉搜索树中第K小的元素

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/description/题目描述:知识点:二叉搜索树、递归思路:递归地寻找二叉搜索树中第K小的元素时间复杂度是O(kN),其中N为二叉搜索...

2019-02-12 13:36:20 498

原创 LeetCode229——求众数II

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/majority-element-ii/description/题目描述:知识点:思路一:用哈希表记录各个数字出现的次数时间复杂度和空间复杂度均是O(n),其中n为数组的长度。JAVA代码:...

2019-02-12 13:20:33 269

原创 LeetCode228——汇总区间

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/summary-ranges/description/题目描述:知识点:数组思路:根据左端点寻找其右端点即可时间复杂度和空间复杂度均是O(n),其中n为数组的长度。JAVA代码:publi...

2019-02-12 12:16:01 349

原创 LeetCode233——数字1的个数

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/number-of-digit-one/description/题目描述:知识点:数学思路:PAT-ADVANCED1049——Counting Ones同样的解法JAVA代码:public ...

2019-02-11 08:36:40 894

原创 LeetCode227——基本计算器II

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/basic-calculator-ii/description/题目描述:知识点:栈思路:中缀表达式转后缀表达式+后缀表达式的计算如何将中缀表达式转化成后缀表达式?如何计算后缀表达式的值?上...

2019-02-10 09:19:19 841

原创 LeetCode226——翻转二叉树

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/invert-binary-tree/description/题目描述:知识点:递归、二叉树思路:递归地翻转一棵二叉树时间复杂度是O(n),其中n为树中的节点个数。空间复杂度是O(h),其中h为树的...

2019-02-09 08:55:23 180

原创 LeetCode225——用队列实现栈

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/implement-stack-using-queues/description/题目描述:知识点:栈、队列思路:pop()或top()操作时用另一个队列暂时保存元素push(x)和empty()的...

2019-02-09 08:45:53 368

原创 LeetCode224——基本计算器

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/basic-calculator/description/题目描述:知识点:栈思路:中缀表达式转后缀表达式+后缀表达式的计算如何将中缀表达式转化成后缀表达式?从左到右遍历中缀表达式的每个数字和符...

2019-02-08 09:01:32 1221 1

原创 LeetCode223——矩形面积

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/rectangle-area/description/题目描述:知识点:数学思路:分情况讨论首先我们假定A小于等于E,如果A大于E,我们只需将两个矩形坐标调换位置即可。(1)第一个矩形的右边界小...

2019-02-07 08:13:26 421

原创 LeetCode222——完全二叉树的节点个数

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/count-complete-tree-nodes/description/题目描述:知识点:层序遍历、递归思路一:二叉树的层序遍历时间复杂度和空间复杂度均是O(n),其中n为树中的节点个数。J...

2019-02-07 07:08:25 452

原创 LeetCode221——最大正方形

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/maximal-square/description/题目描述:知识点:动态规划思路:动态规划状态定义:f(x, y) -------- 以(x, y)坐标为右下角的只含1的最大正方形面积状...

2019-02-06 10:41:45 427

原创 LeetCode220——存在重复元素III

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/contains-duplicate-iii/description/题目描述:知识点:二叉搜索树、滑动窗口法思路:滑动窗口法在LeetCode219——存在重复元素II的基础上,题目要求使得两元素...

2019-02-04 16:58:07 1482

原创 LeetCode219——存在重复元素II

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/contains-duplicate-ii/description/题目描述:知识点:哈希表、滑动窗口法思路:滑动窗口法本题是LeetCode217——存在重复元素的加强版,由于题目要求i和j的绝对...

2019-02-04 16:43:05 760

原创 LeetCode307——区域和检索 - 数组可修改

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/range-sum-query-mutable/description/题目描述:知识点:线段树思路:线段树本题是LeetCode303——区域和检索的加强版,由于新增了update()操作,Lee...

2019-02-04 16:27:58 706

原创 LeetCode303——区域和检索

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/range-sum-query-immutable/description/题目描述:知识点:预处理求和、线段树思路一:预处理求和构造函数的时间复杂度是O(n),其中n为数组的长度。sumRange...

2019-02-04 16:08:52 559

原创 LeetCode217——存在重复元素

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/contains-duplicate/description/题目描述:知识点:哈希表思路:用一个HashSet来存储已遍历元素一旦发现重复元素即返回true,如果遍历结束还未发现重复元素,说明数组...

2019-02-04 14:04:23 487

原创 LeetCode216——组合总和III

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/combination-sum-iii/题目描述:知识点:回溯思路:回溯算法寻找所有符合条件的组合往组合里添加新值时,确保新值比原有组合中的所有值都要大,这样就可以避免使用重复元素。时间复杂度和...

2019-02-04 13:58:00 450

原创 LeetCode215——数组中的第K个最大元素

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/description/题目描述:知识点:分治算法思路:每次将其分成两堆数,一堆数均比某个值要大,另一堆数均小于等于某个值本题是经典的...

2019-02-04 11:23:44 288

原创 LeetCode214——最短回文串

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/shortest-palindrome/description/题目描述:知识点:回文字符串、KMP算法思路一:暴力破解法要找到满足题目要求的最短回文串,本质是要找到最长的回文子串,该子串的左端点与...

2019-02-02 11:06:31 4091 1

原创 LeetCode212——单词搜索II

我的LeetCode代码仓:https://github.com/617076674/LeetCode原题链接:https://leetcode-cn.com/problems/word-search-ii/description/题目描述:知识点:回溯、Trie思路一:LeetCode079——单词搜索的加强版时间复杂度是O(s),其中s为words数组中的字符总数。空间...

2019-02-01 10:44:18 957

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除