摘要: 题目: 解析: 首先如何判断三个边长能否组成一个三角形,这个初中数学就学过——两个小边的和大于最大边的边长。 因此,很容易得到解法,对nums数组排序后,做全排列,依次检查每种组合是否符合要求。 但是非常遗憾,这种解法的复杂度是 O(n*3),超时了。根据判定中给出的超时输入发现,nums里面很多边 阅读全文
posted @ 2017-06-13 11:32 seyjs 阅读(523) 评论(0) 推荐(0)
摘要: 题目要求计算二叉树每一层的最大值,并且将最大值组成一个列表输出。从题目要求很容易可以看出,这是一个二叉树的层序遍历,在遍历的过程中对比求出每一层的最大值。层序遍历的思路就是从根节点开始,依次把每个节点的左右节点放入一个队列中,接着依次遍历队列中的所有节点。 阅读全文
posted @ 2017-02-20 13:27 seyjs 阅读(211) 评论(0) 推荐(0)
摘要: 本题属于Easy级别,最常规的方法是用两层循环遍历houses和heaters数组,得到每个house与所有heaters的距离的最小值,然后取出所有最小值中的最大值即为radius。但是这种解法时间复杂度是O(n^2),会导致Time Exceed Limited。 仔细想想,其实根本不需要每个h 阅读全文
posted @ 2017-02-16 17:00 seyjs 阅读(253) 评论(0) 推荐(0)
摘要: java和c++两门语言对于父子类中同名函数具有不同的处理方式。 先上两段代码: 比较这个例子中的不同,原因是java语言中父类和子类的同名函数做的是重载处理,而C++中是隐藏父类中的函数,如果需要调用父类中同名函数,需要显式指定调用(通过class::funtion_name)。 阅读全文
posted @ 2017-01-03 17:51 seyjs 阅读(1675) 评论(0) 推荐(0)
摘要: 中秋节快到了,首先祝自己中秋快乐。 昨天下午六点,心里正想着加完一个crontab就可以下班了。本来想执行 crontab -e的,没想到手一抖就输入了crontab ,然后就进入了下面这个样子。 一看不对劲,就随手按了 Ctrl + D。 接下来,恐怖的事情发生了,crontab的所有任务都被清空 阅读全文
posted @ 2016-09-14 10:35 seyjs 阅读(7843) 评论(0) 推荐(0)
摘要: 题目的意思很简单,给定两个升序排列的数组,从两个数组中各取一个元素进行配对,并对配对的两个进行求和,找出前K小的配对组合。 最直接的办法就是穷举,把所有的组合都列出来,得到最后的结果,这样的时间复杂度是N^2。那么有没有更简单的方法呢? 由于数组是有序的,那么最小的一个配对组合肯定是 [nums1[ 阅读全文
posted @ 2016-07-25 15:55 seyjs 阅读(219) 评论(0) 推荐(0)
摘要: 我的解题思路是首先用grep找出所有包括TITLE和hello的行,然后通过sed的N把下一行(最后一行除外)读入模式空间,如果包含 /hello/,那么用P打印当前模式空间,然后D删除打印完的内容。 阅读全文
posted @ 2016-06-16 16:15 seyjs 阅读(193) 评论(0) 推荐(0)
摘要: 使用ipcs -q可以得到key与msqid的对应关系,从而找到msgid 然后使用 ipcs -qp 可以得到进程id 阅读全文
posted @ 2016-05-19 17:21 seyjs 阅读(525) 评论(0) 推荐(0)
摘要: 表结构如下: 创建了两个全文索引,但是在查找的时候,却出现如下这样的错误。 单独match某一列可以正常查询,但是match多列就报错。 后来从MySQL的文档上面找到:The MATCH() column list must match exactly the column list in som 阅读全文
posted @ 2016-04-22 15:18 seyjs 阅读(1219) 评论(0) 推荐(0)
摘要: 现在我们数据库表中的记录大约在17万,每一条记录都有name字段,根据name做模糊匹配,效率非常低下。 表结构如下: 总数据量如下: 按照名称进行模糊匹配执行结果如下,用时0.29秒: like操作无法走到索引,正好趁着机会尝试下MySql的全文索引功能。 因为中文语句不像英文,单词与单词之间用空 阅读全文
posted @ 2016-04-21 11:47 seyjs 阅读(1497) 评论(1) 推荐(0)