
offer
fsfsfsdfsdfdr
日更新一篇
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
携程笔试题:订单查询
携程笔试题:有一批订单记录,数据有订单号,入店时间,离店时间;输入一个时间值A,需要在这批记录中找到符合入离店时间范围(A大于等于入店时间,并且A小于等于离店时间)内的所有记录。单次查询时间复杂度控制在0(logN)※注意:订单号升序输出测试用例:输入:typedef struct TYPES { int id; long t1, t2;}TYPES;i...原创 2018-09-06 08:59:08 · 1203 阅读 · 0 评论 -
华为笔试:字符串解压缩
将一段压缩后的字符串解压缩,并且排序输出解压规则:每个字符串后面跟随一个数字,表示这个字符串的重复次数。例如,“a5"解压后的结果为"aaa;"abc3"解压后的结果为abcabcabc。排序规则1、根据每个字符串的重复次数升序排序,然后输入结果例如,“a3b2”,输出的结果为“ obama2、如果字符重复次数一样,则根据ASC!码顺序做升序排序,然后输出结果。例如,“...原创 2018-09-06 09:17:37 · 3387 阅读 · 1 评论 -
G-bit 找出所有2018数
这题是数位dp问题,上面的代码用的时记忆化搜索,思路就是把小于等于n的数都搜一遍,但是有很多结果是重复的,所以加个数组把每次计算出的结果都保存下来,比如要找小于55555555的“2018”数,那么以13开头的13xxxxxx和以14开头的14xxxxxx的“2018”数的个数是一样的。#include using namespace std;const int N = 1e5+10;...原创 2018-09-06 10:21:52 · 157 阅读 · 0 评论 -
leetcode 中twoSum、threeSum、fourSum以及NSum
在leetcode中 twoSum解决思路主要是排序的数组后,以升序为例,先从右端固定一个值Fx,然后从固定值的左邻居Ni开始遍历,如果固定值Fx+Ni=target,则break结束,否则,Fx向左移动一个值,同样思路左邻居顺序移动遍历,如果要求出所有的这种组合,那么Fx+Ni=target后,不执行break,直到Fx为倒数第二数为止。当然这里也可以优化,基本上固定一个值后左邻居Ni的值已经固...原创 2018-09-17 10:15:53 · 687 阅读 · 0 评论