Leetcode
文章平均质量分 75
豆瓣酱1991
这个作者很懒,什么都没留下…
展开
-
LeetCode 438: Find All Anagrams in a String
题目描述:hhttps://leetcode.com/problems/find-all-anagrams-in-a-string/ 题目本身并不难,这里主要比较两种方法在时间上的差异: 方法一: 每次去s中与q长度相等的字串,比较两个字符串是否为Anagram。 这种方法所需时间很长。 AC代码 /* 794ms */ public class Solution { publ原创 2016-11-28 20:48:05 · 336 阅读 · 0 评论 -
LeetCode 119: Pascal's Triangle II
题目要求:https://leetcode.com/problems/pascals-triangle-ii/ 1)杨辉三角形:第k+1行的第i个元素,等于第k个元素的第i个元素加第i-1个元素 2)为满足空间复杂度为O(k)的需求,可以从第2行开始,每次在list末尾添加一个1,则前k个元素为k-1行的值,这样就可以从后向前计算第k行的元素 AC代码 /*原创 2016-11-22 19:25:41 · 520 阅读 · 0 评论 -
LeetCode 172: Factorial Trailing Zeroes
题目要求:https://leetcode.com/problems/factorial-trailing-zeroes/ 1)阶乘末尾0的个数,等于各个元素分解素因素后,2*5的个数 2)对阶乘而言,素因素分解后2的数量一定多于5,因此只需要统计5的个数 3)题目要求时间复杂度为对数级别,因此对每个数求5的个数不符合要求。需要用一下方式求5的个数: 对于阶乘而言,n/k 表示其中能被k整原创 2016-11-21 18:08:27 · 214 阅读 · 0 评论 -
LeetCode102: Binary Tree Level Order Traversal
题目要求:https://leetcode.com/problems/binary-tree-level-order-traversal/ 1)此题本质上是一个BFS问题,不难解决 2)题目要求将每一层节点作为一个list,那么使用while(!q.isEmpty())的方式来遍历Queue就不太合适,因为需要不停地将节点加入队列 这里在访问每一层是,先获得此时queue里的长度,原创 2016-11-27 19:06:53 · 329 阅读 · 0 评论 -
Leetcode 258: Add Digits
题目描述:https://leetcode.com/problems/add-digits/?tab=Description 题目分析:假设所给的数num = ABCDE,那么: 不难得到num = (A*10000) + (B*1000) + (C*100)+(D*10) + E = (A+B+C+D+E) + (A*9999+B*999+C*99+D*9) 再假设A+B+C+D+原创 2017-03-04 16:02:01 · 295 阅读 · 0 评论 -
Leetcode 371 :Sum of Two Integers
题目描述:https://leetcode.com/problems/sum-of-two-integers/?tab=Description 题目分析:不用+、-来实现加法运算。那么可以像计算机硬件一样使用位运算来实现。 二进制的加法有两部分:相加,进位: 各位相加的结果,是“异或:^”;各位的进位是“且:&”,因为进位是放在下一位的,所以要左移一位 所以,a+b = x1+原创 2017-03-04 16:09:04 · 219 阅读 · 0 评论 -
Leetcode 506:Relative Ranks
题目描述:https://leetcode.com/problems/relative-ranks/?tab=Description 题目分析: 最简单的实现方法:对于每一个运动员得分,遍历整个数组,记录有几个比他得分高的人。这样虽然能够实现,但是时间复杂度为O(n^2) AC代码: public class Solution { public String[] f原创 2017-03-06 22:16:30 · 247 阅读 · 0 评论 -
Leetcode 561:Array Partition I
题目描述:https://leetcode.com/problems/array-partition-i 思想是让值最接近的两个数成为一个group,最简单的可以先排序,在取其中下标为偶数的元素。但排序本身耗费时间。 可以先计算每个元素出现的次数,从小到大,每间隔一个元素取一个,相加。 AC代码: public class Solution { public int arrayPa原创 2017-07-17 16:54:58 · 277 阅读 · 0 评论 -
Leetcode 538:Convert BST to Greater Tree
题目描述:https://leetcode.com/problems/convert-bst-to-greater-tree/#/description 解题思路:后续遍历,每个节点的值等于其自身值加上其已经遍历过的值之和。 AC代码 public class Solution { int count = 0; public TreeNode convertB原创 2017-07-18 20:51:27 · 329 阅读 · 0 评论