随笔分类 - 题库Leetcode
https://leetcode.com/problemset/algorithms/
摘要:题意: 给定两棵树,将两棵树合并成一颗树 输入 方法2需要提供额外内存,但是时间居然比方法1少,简直不可思议
阅读全文
摘要:这是一道水题,作为没有货的水货楼主如是说。 题意:已知一个数组nums {a1,a2,a3,.....,an}(其中0<ai <=1000(1<=k<=n, n<=20))和一个数S c1a1c2a2c3a3......cnan = S, 其中ci(1<=i<=n)可以在加号和减号之中任选。 求有多
阅读全文
摘要:基础题之一,是混迹于各种难题的基础,有时会在小公司的大题见到,但更多的是见于选择题。。。 题意:在一个有序数列中,要插入数target,找出插入的位置。 楼主在这里更新了《二分查找综述》第一题的解法,比较类似,当然是今天临时写的。 知道了这题就完成了leetcode 4的第二重二分的写法了吧,楼主懒
阅读全文
摘要:貌似是去年阿里巴巴c++的笔试题,没有什么创新直接照搬的。。。 题意就是找出两个排序数组的中间数,其实就是找出两个排序数组的第k个数。 二分答案,先二分出一个数,再用二分算出这个数在两个排序数组排序第几,然后和k做比较,最后以这个比较为依据接着二分直到求出第k个数。 本来这是两重二分,由于楼主的懒已
阅读全文
摘要:可怕的同时考数值溢出和二分的酱油题之一,常在各种小公司的笔试中充当大题来给你好看。。。 题意很简单,在《二分查找综述》中有描述。 重点:使用简单粗暴的long long来避免溢出,二分均方根的答案来得到准确解。 当然这里的溢出不止是相乘的溢出,还有第六行那段代码的溢出,每次都会有几个解决问题的斗士牺
阅读全文
摘要:题意:将字符串转化成数字。 前置有空格,同时有正负号,数字有可能会溢出,这里用long long解决(leetcode用的是g++编译器),这题还是很有难度的。
阅读全文
摘要:题意:将数组旋转k次,如将数组[1,2,3,4,5]旋转1次得到[2,3,4,5,1],将数组[1,2,3,4,5]旋转2次得到[3,4,5,1,2]..... 本质是将数组分成两部分a1,a2,...ak以及ak+1....an两部分,然后将两部分进行交换。 我的解法是将数组分成两部分a1,a2,
阅读全文
摘要:题意:比较版本号的大小 有点变态,容易犯错 本质是字符串的比较,请注意他的版本号的小数点不知1个,有的会出现01.0.01这样的变态版本号
阅读全文
摘要:题意:将数字转化成excel表中的行中的项目 本质是10进制转化为26进制,但是在中间加入了一个不一样的操作,在每次操作前都需要n--
阅读全文
摘要:题意:设计一个能输出栈内最小值的栈 该题设计两个栈,一个栈是正常的栈s,而另一个是存最小值的栈sm 在push时要判断sm是否为空,如果为空或者非空但是栈顶元素大于等于插入值的 需要在sm中插入x 同样地在pop时,s的元素被删除了,那么sm中的也应该被删除。 通过这些操作维护sm能很巧妙在O(1)
阅读全文
摘要:题意:找到第一个出问题的版本 二分查找,注意 mid = l + (r - l + 1) / 2;因为整数会溢出
阅读全文
摘要:题意:给定一个目标值target,找到两个数的和为target,返回这两个数的下标 用map记录每个数的下标,并用于查找
阅读全文
摘要:题意:将整数倒置,该题简单但是需要注意数据的范围,难得的好题。 如果出现1000000003或者-2000000003,倒置后的数超过int的范围,因此返回0,出现这种情况可以使用long long,也可以在在乘以10时进行判断。 注意:Leetcode是用linux环境的,所以他用的是g++4.7
阅读全文
摘要:题意:判断字符串是否是回文字符串 先将所有的字母和数字字符保留,并将大写字母转化成小写字母,然后将字符串倒置,比较前后两个字符串是否相同。 该题最好的解法可以模仿 Leetcode 345 Reverse Vowels of a String 字符串处理
阅读全文
摘要:题意:将字符串排成Z字形。 PAHNAPLSIIGYIR 如果是5的话,是这样排的 P I AP YR H L G N SI A I 于是,少年少女们,自己去找规律吧 提示:每个Z字形的字符串和原字符串的每个字母的位子一一映射
阅读全文
摘要:题意:统计小于n的质数个数。 作为一个无节操的楼主,表示用了素数筛法,并没有用线性素数筛法。 是的,素数筛法并不是该题最佳的解法,线性素数筛法才是。 至于什么是素数筛法,请百度吧。
阅读全文
摘要:题意:查询一个数组在(i,j]范围内的元素的和。 思路非常简单,做个预处理,打个表就好 拓展:可以使用树状数组来完成该统计,算法复杂度为(logn),该数据结构强力的地方是实现简单,而且能完成实时更新以及上面的统计和
阅读全文
摘要:由于老是更新简单题,我已经醉了,所以今天直接上一道通过率最低的题。 题意:判断字符串是否是一个合法的数字 定义有符号的数字是(n),无符号的数字是(un),有符号的兼容无符号的 合法的数字只有下列几种组合:(其中E可以大写) 有小数点和e (n).(un)e(n) .(un)e(n) (n).e(n
阅读全文
摘要:题意:倒置字符串中的元音字母。 用两个下标分别指向前后两个相对的元音字母,然后交换。 注意:元音字母是aeiouAEIOU。
阅读全文
摘要:题意:判断一个数是不是4的幂数,和Power of two类似。 先判断num是否大于0,再判断num是否能开根号,最后判断num开根号后的数是否是2^15的约数。 提示:4的幂数开根号就是2的幂数。 注意:判断一个双精度数a是否是0,请用fabs(a)<一个极小的数,如本题中用的是1e-9。
阅读全文