随笔分类 -  LeetCode

1 2 3 4 5 ··· 9 下一页
leetcode[172] Factorial Trailing Zeroes
摘要:Given an integern, return the number of trailing zeroes inn!.给定n,求n!的末尾有几个零。能组成零的末尾的莫过于2*5,和本身就是0结尾的,如10,20,。。。可以注意到以0结尾的也是可以分解成2*5的,所以目标就转化为求几个2*5因子了... 阅读全文
posted @ 2015-01-14 10:07 higerzhang 阅读(252) 评论(0) 推荐(1)
leetcode[171] Excel Sheet Column Number
摘要:果然是陆续出新题的节奏啊。看不见的题就坐等其他大神分享了。先做released的。之前是将数字转为excel的列,这里是给定列返回对应的数字。就是进制的转换,很简单的。需要注意的是从1开始的。不是0.class Solution {public: int titleToNumber(strin... 阅读全文
posted @ 2014-12-29 11:10 higerzhang 阅读(313) 评论(0) 推荐(0)
leetcode[167] Two Sum II - Input array is sorted
摘要:给定数组排好序了,然后给一个目标,找到两个数相加等于目标的两个数的下标。蛮简单感觉,就是左右两边往里,比目标大就右边减,小就左边加。一样就输出。 vector twoSum(vector &numbers, int target){ vector ans; int ... 阅读全文
posted @ 2014-12-27 23:38 higerzhang 阅读(2658) 评论(4) 推荐(2)
leetcode[163] Missing Ranges
摘要:给定一个排好序的数组,和一个区间[lower, upper], 返回丢失的区间范围。例如:For example, given [0, 1, 3, 50, 75], lower = 0 and upper = 99, return ["2", "4->49", "51->74", "76->99"]... 阅读全文
posted @ 2014-12-27 23:12 higerzhang 阅读(532) 评论(0) 推荐(0)
leetcode[161] One Edit Distance
摘要:判断两个字符串的编辑距离是不是1.关于编辑距离可以参见之前有一题leetcode[72] Edit Distance思路:如果字符串相差2个以及以上长度,那么肯定不止1,直接false如果字符串长度相等,那么判断对应位置不同的字符数是不是1即可。如果字符串长度相差1,那么肯定是要在长的那个串删掉一个... 阅读全文
posted @ 2014-12-26 00:01 higerzhang 阅读(4624) 评论(1) 推荐(0)
leetcode[159] Longest Substring with At Most Two Distinct Characters
摘要:找到最多含有两个不同字符的子串的最长长度。例如:eoeabc,最长的是eoe为3,其他都为2.思路:用p1,p2表示两种字符串的最后一个出现的下标位置。初始p1为0. p2为-1.start初始化为0,表示两种字符串的开头。只要遍历一次string就可以得到结果了。首先我们要确定p2的值,那么i要一... 阅读全文
posted @ 2014-12-25 21:35 higerzhang 阅读(792) 评论(0) 推荐(0)
leetcode[158] Read N Characters Given Read4 II - Call multiple times
摘要:想了好一会才看懂题目意思,应该是:这里指的可以调用更多次,是指对一个文件多次操作,也就是对于一个case进行多次的readn操作。上一题是只进行一次reandn,所以每次返回的是文件的长度或者是n,并且将相应的字符存在buf里。现在调用多次的话就可能存在以下的例子:例如文件case是:1,2,3,4... 阅读全文
posted @ 2014-12-25 11:08 higerzhang 阅读(1716) 评论(0) 推荐(0)
leetcode[157] Read N Characters Given Read4
摘要:题目意思是给你一个read4的函数,实现一个readn的函数。一开始题目一直没搞懂,原来,read4(buf) 是指,读4个字符存到buf,或者读剩下的不足四个的字符,返回的数字是存到buf里的字符数。没有买书,只能网上看看别人分享的代码:// Forward declaration of the ... 阅读全文
posted @ 2014-12-24 23:13 higerzhang 阅读(774) 评论(0) 推荐(0)
leetcode[169] Majority Element
摘要:在一个数组中找到主要的元素,也就是出现次数大于数组长度一半的元素。我想到的方法是1. 排序,然后扫描一次就知道了。总共nlgn2. 哈希,记录每个次数,O(n)的时间和空间。class Solution {public: int majorityElement(vector &num) { ... 阅读全文
posted @ 2014-12-23 23:42 higerzhang 阅读(1658) 评论(0) 推荐(0)
leetcode[168] Excel Sheet Column Title
摘要:给定一个数,求出在excel中的列标题。例如 1 对应 A,2 对应 B,. .. , 26对应Z, 27 对应AA在没看别人解法之前,我是这样做的:观察数学规律,每次求一个字母,假设只有AB的情况的话,应该是这样的:我们列举前面3大种A,B,AA,AB,BA,BB,AAA,AAB,ABA,ABB,... 阅读全文
posted @ 2014-12-23 00:09 higerzhang 阅读(987) 评论(0) 推荐(0)
leetcode[166] Fraction to Recurring Decimal
摘要:For example,Given numerator = 1, denominator = 2, return "0.5".Given numerator = 2, denominator = 1, return "2".Given numerator = 2, denominator = 3, ... 阅读全文
posted @ 2014-12-22 00:33 higerzhang 阅读(325) 评论(0) 推荐(0)
leetcode[165] Compare Version Numbers
摘要:比较两个版本大小。思路:用点分隔,判断相应间隔的大小。因为存在长短的问题,还有0的存在,所以如果一个到末尾了,另一个没有的话,不妨假设到末尾的那个版本之后的间隔的值都为“0”。其中用到了stoi()函数。如果间隔中的版本相同,并且都已经到了末尾之后了,那么就是相等。否则,一直判断直到两个版本都结束为... 阅读全文
posted @ 2014-12-21 12:31 higerzhang 阅读(503) 评论(0) 推荐(0)
leetcode[164] Maximum Gap
摘要:梅西刚梅开二度,我也记一题。在一个没排序的数组里,找出排序后的相邻数字的最大差值。要求用线性时间和空间。如果用nlgn的话,直接排序然后判断就可以了。so easyclass Solution {public: int maximumGap(vector &num) { if (... 阅读全文
posted @ 2014-12-21 01:03 higerzhang 阅读(2658) 评论(0) 推荐(0)
leetcode[162] Find Peak Element
摘要:给定一个数组,假设下标0左边的为负无穷,下标size的也为负无穷。找到峰值所在。峰值是一定存在的,因为下标0大于左边了,如果不存在那么下标1就要大于0的,一次类推下一个都要大于上一个的。那么知道size-1的时候还是大于size-2,又因为size是负无穷,那么size-1就是峰值了。所以峰值一定存... 阅读全文
posted @ 2014-12-20 18:29 higerzhang 阅读(496) 评论(0) 推荐(0)
leetcode[160] Intersection of Two Linked Lists
摘要:那几题要15刀才能测试的就先放着了。先吧可以在线测试的刷了。这题是找到零个链表的相交的那个节点。如果没有相交,那就返回NULL。思路一:如果有相交,那么他们相交点之后的节点肯定都是共有的,然后两个链表有长有短的话,就先把长的读到和短的一样长,然后两个人在同时走,走到第一个相同的点就是答案了。如果相同... 阅读全文
posted @ 2014-12-20 10:24 higerzhang 阅读(415) 评论(0) 推荐(0)
leetcode[156] binary tree upside down
摘要:这题要收费了。只能网上看题目,我等屌丝也没法OJ测试了。网上看了后发现其实并非独创,其他的方也有类似的题。例如在这里,CareerCup上先用了递归的想法, TreeNode *ans; TreeNode *helper156(TreeNode *root) { if... 阅读全文
posted @ 2014-12-19 11:31 higerzhang 阅读(261) 评论(0) 推荐(0)
leetcode[155] Min Stack
摘要:实现一个堆,可以push,pop,top,和getMin主要的应该是getMin,如何找到最小的数。如果每次要找最小的数遍历一边,那貌似没什么意义了。做法是,用两个堆,一个用来正常的操作,另一个是记录到当前最小值,如果来一个数字,比最小值的那个对的top还小那就,两个堆都要push,如果pop的时候... 阅读全文
posted @ 2014-12-18 17:43 higerzhang 阅读(177) 评论(0) 推荐(0)
leetcode Find Minimum in Rotated Sorted Array II
摘要:和上题一样,这里要求可以重复数字。那么需要考虑的就比较多一步了。如果中间的值和左边的值相等的话,并且中间下标不等于左边下标的话,那么就存在问题了,因为我们不知道最小的到底会出现在哪里。那么就只能left++,继续判断了,所以最坏情况还是O(n)只要在上题基础上,稍微修改一下就行了。class Sol... 阅读全文
posted @ 2014-12-18 12:20 higerzhang 阅读(155) 评论(0) 推荐(0)
leetcode Find Minimum in Rotated Sorted Array
摘要:一个有序数组,没有重复数字,向右推进了几次,找出最小值。例如(i.e.,0 1 2 4 5 6 7might become4 5 6 7 0 1 2).直接遍历一次找到答案就没有意义了。之前做过类似的题目,不过我找不到具体的题号了。所以就随便搜了下Garnker的,知道是Search in Rota... 阅读全文
posted @ 2014-12-18 12:09 higerzhang 阅读(165) 评论(0) 推荐(0)
leetcode Maximum Product Subarray
摘要:之前好像做过这样的,以前是加法,现在是乘法。一开始我也傻逼得用n方的试了下,肯定是TLE的。那显然就是可以O(n)解决了用两个dp数组,一个存最大值,一个存最小值,因为可能是负数再乘以负数就很大了,所以每次更新需要借助最小值一同更新最大值。最后遍历一边dp大的数组就有答案了。class Soluti... 阅读全文
posted @ 2014-12-18 11:20 higerzhang 阅读(168) 评论(0) 推荐(0)

1 2 3 4 5 ··· 9 下一页