随笔分类 -  LeedCode

LeetCode204——count primes
摘要:方法还是有很多的,通过率很低,不过这题还是需要思考清楚,不然很容易tclass Solution {public: int countPrimes(int n) { if(n == 0 || n == 1) { return 0; ... 阅读全文

posted @ 2016-01-20 18:02 MMac 阅读(146) 评论(0) 推荐(0)

LeetCode55——Jump Game
摘要:对于长度为5的数组,当前位置为0则至少需要4步到尾。条件为curValue + curPos >= nums.size() - 1。需要注意的是在循环内的max必须先判断为不为0然后再-- 以防出现[0,1]这种情况。class Solution{public: bool canJump(ve... 阅读全文

posted @ 2015-12-23 17:20 MMac 阅读(140) 评论(0) 推荐(0)

LeetCode62——Unique Paths
摘要:本题是讲的一个路径问题,一共有多少种方法能到达。 简单理解一下,假设定点在(m,n)那么机器人到达mn的唯2方法为从上方(m - 1,n)到达,从左方(m,n - 1)到达。而且,边上的点都只有一种路径能达到,于是可以将边上的点初始化为1,那么其他的点到达的方法应该为dp[m - 1][n] ... 阅读全文

posted @ 2015-12-23 14:36 MMac 阅读(113) 评论(0) 推荐(0)

LeetCode74——Search a 2D Matrix
摘要:本题比较简单,我是用最简单的思想来思考的,既然每行都有序,我先利用vector支持随机查找的策略,比较vector每一行末尾的元素,如果比末尾元素大则跳到下一行。如果下一行为最后一行+1那么返回false。那么比较过后,在下一行元素中进行一次遍历,找寻符合条件的数,找到返回true,没找到返回fal... 阅读全文

posted @ 2015-12-22 16:10 MMac 阅读(128) 评论(0) 推荐(0)

LeetCode198——house robber(不懂dp)
摘要:这题,是不能连续抢两间相邻的店铺。我不知道是不是一个环,姑且算作不是一个环。 如果你已经来到了第n间店铺,那么你有两个选择。 1.抢:sum[n] = sum[n - 2] +n.value 。第n - 1不能抢 2.不抢:你的总收益来到前面一家店的收益总和sum[n] =sum[n - ... 阅读全文

posted @ 2015-12-14 16:57 MMac 阅读(177) 评论(0) 推荐(0)

LeetCode171——Excel Sheet Column Number
摘要:很简单的一道题,输出excel中字母对应的数字。但是由于自己的程序思想还是很差,代码很长。class Solution{public: int titleToNumber(string s) { int ans = 0; int tmp = 1; ... 阅读全文

posted @ 2015-12-11 16:48 MMac 阅读(160) 评论(0) 推荐(0)

LeetCode66——Plus One
摘要:加1,在一个数组末端加1会出现什么情况。拿到这个题目我就有点跑偏了,往大数上马不停蹄,跑了一半发现错得离谱。初开9 + 1能进位,其他任何数加一个1直接返回就行了。所以如果末尾是0,1,2,3,4,5,6,7,8直接返回digits[末尾] + 1。那么如果是9呢?是9这位就变成0,下一位就变成... 阅读全文

posted @ 2015-12-08 14:50 MMac 阅读(152) 评论(0) 推荐(0)

LeetCode226——Invert Binary Tree
摘要:翻转树的值,看上去很简单。看到树就递归吗?我还是采用了非递归的方式,用一个辅助队列来帮忙。将树的节点一个个塞进去。然后在队列里将节点左右孩子进行交换达到目的。/** * Definition for a binary tree node. * struct TreeNode { * in... 阅读全文

posted @ 2015-12-08 11:12 MMac 阅读(130) 评论(0) 推荐(0)

LeetCode232——Implement Queue using Stacks
摘要:这题,评级是easy,按照思路也挺顺的。奏是一个字,溜儿。 用栈实现一个队列,我实在想不出为啥要这么做,不过我们还是放下这些偏见立地成佛吧。 来,因为队列先进先出,栈先进后出,那么一个栈肯定搞不定了,不然你要把所有元素都倒出来找第一个元素。所以用两个栈吧。 1.压入队列,那么将一个队列做入... 阅读全文

posted @ 2015-12-08 10:25 MMac 阅读(225) 评论(0) 推荐(0)

LeetCode112——path sum
摘要:看到树就有一种本能的畏惧感,水平不足嘛。但是水平不够就越要敢于挑战,本题的意思是找到一条路径,这条路径上的和等于给出的数。这条路径必须是从叶子到根节点的哈。想想,如果从根节点开始找,每次sum减掉val则到了叶子节点的时候,sum肯定等于叶子节点的值。否则,就没有这么一条路径。朴素深搜,好装逼的... 阅读全文

posted @ 2015-12-07 19:50 MMac 阅读(163) 评论(0) 推荐(0)

LeetCode9——Palindrome Number
摘要:回文数字,简单处理。将数字各位取出,然后用临时变量累加,当累加完成后这个数字等于原来的数字即是回文数。需要注意的是负数不是回文数。class Solution{public: bool isPalindrome(int x) { if(x 0) { ... 阅读全文

posted @ 2015-12-07 19:09 MMac 阅读(124) 评论(0) 推荐(0)

LeetCode268——MissingNum
摘要:简单得很,但是我发现我的算法效率很低,其实还有很多地方需要完善的。一次排序,便利查找。发现了就返回。思路简单,效率嘛堪忧。class Solution {public: int missingNumber(vector& nums) { sort(nums.begin(... 阅读全文

posted @ 2015-12-07 16:46 MMac 阅读(208) 评论(0) 推荐(0)

LeetCode100——same tree
摘要:这俩树是不是一样的,判断值域是否一样,一样的话判断左右孩子是否为空,不空的话,判断左右孩子是否相等,一直到后续节点都为空为止。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * ... 阅读全文

posted @ 2015-12-07 12:56 MMac 阅读(129) 评论(0) 推荐(0)

导航