随笔分类 -  算法

摘要:路由表查看 arp缓存 都是走的什么接口? 阅读全文
posted @ 2019-01-13 18:06 honpey 阅读(177) 评论(0) 推荐(0)
摘要:1) 当arp表项不存在的时候,数据包等待表项存在了再发,还是直接把数据包给丢掉; 2)如果网络目的地址不可达,是在那一层把数据丢弃,再是路由层就判断还是arp层呢? 阅读全文
posted @ 2019-01-12 17:35 honpey 阅读(155) 评论(0) 推荐(0)
摘要:巴达努斯 阅读全文
posted @ 2018-05-02 21:21 honpey 阅读(165) 评论(0) 推荐(0)
摘要:经常有这样的词汇叫包的过滤,包的过滤肯定是发生在刚刚接受包的地方,这个重要的节点是哪里? 阅读全文
posted @ 2018-03-24 13:40 honpey 阅读(251) 评论(0) 推荐(0)
摘要:题目:找出数组的一个子数组,要求这个子数组中0和1的数量相等,找出最大长度的这样的数组! 思路:也是受网上算法的启发吧,用一个 语言:如何初始化一个unordered_map<int,int> hmap,让默认的<key,value>中的value是-1,而不是0,因为很多时候,我们要存的value 阅读全文
posted @ 2017-05-21 08:36 honpey 阅读(163) 评论(0) 推荐(0)
摘要:题目:输出帕斯卡三角的第k行 思路:真没思路,发现几个easy的题不容易想!这里的大致思路是从后开始更新第k行! 阅读全文
posted @ 2017-05-20 07:25 honpey 阅读(154) 评论(0) 推荐(0)
摘要:题目:最大收益 [1,2,3,9,2,3] 思路:这道题竟然是easy的?! 最终的解法非常简单,只要把单个波峰减去波谷就可以了,比如在上面的例子中【1-2-3-9】【2-3】这就是单个波峰波谷!为什么这个解法是正确的呢? 阅读全文
posted @ 2017-05-18 22:39 honpey 阅读(145) 评论(0) 推荐(0)
摘要:题目:数组的长度是n,里面的数是1到n,其中肯定有重复的,找到里面重复的数字 思路:自己想愣是没有想出来,直接看答案,关键点是看nums[i]和nums[nums[i]-1]之间的关系,遍历整个数组,数组本身当map<int,int>结构!把nums[nums[nums[i]-1]的值给置负,这样下 阅读全文
posted @ 2017-05-16 23:02 honpey 阅读(168) 评论(0) 推荐(0)
摘要:题目:在数组中找到一个子数组,让子数组的和是k。 思路:先发发牢骚,这两天做题是卡到不行哇,前一个题折腾了三天,这个题上午又被卡住,一气之下,中午睡觉,下午去了趟公司,竟然把namespace和cgroup的架构给搞懂了!所以晚上再来攻克这个问题!上午的做法是这样的,设置一个fast指针,一个slo 阅读全文
posted @ 2017-05-13 23:17 honpey 阅读(237) 评论(0) 推荐(0)
摘要:一个数组中的长度是n+1,里面存放的数字大小的范围是【1,n】,根据鸽巢原理,所以里面肯定有重复的数字,现在预定重复的数字就1个,让你找到这个数字! http://bookshadow.com/weblog/2015/09/28/leetcode-find-duplicate-number/ 使用坐 阅读全文
posted @ 2017-05-13 10:24 honpey 阅读(202) 评论(0) 推荐(0)
摘要:2017/12/23 scoped_ptr类型的指针,只能在一个namespace中使用 1) 怎么查看元素在set中是否存在 1) istringstream类用于执行C++风格的串流的输入操作。 ostringstream类用于执行C风格的串流的输出操作。 strstream类同时可以支持C风格 阅读全文
posted @ 2017-05-11 21:34 honpey 阅读(189) 评论(0) 推荐(0)
摘要:题目:在一个数组中找到一个子数组,让子数组的乘积最大,比如【2,3,-2,4】返回6 思路:之前自己想到的思路是对于一个int类型的数组,只要负数的个数是偶数,那么乘积肯定是全局乘就可以了,然后对于负数个数是奇数的情况,那么我们就找到最前和最后的一个负数,然后分别计算其前后子数组的乘积就可以了!因为 阅读全文
posted @ 2017-05-09 23:05 honpey 阅读(202) 评论(0) 推荐(0)
摘要:题目:找出数组中出现次数大于n/3次的数字 思路:摩尔投票法。所有的帖子中都说:先遍历一遍数组找到备选元素,然后再遍历一遍数组考察下这个元素是否是真的超过n/3,然后就直接上代码,但是现在的问题是:我怎么找到这个备选的元素?!票是怎么投起来的呢?通过参考文章中的代码,大致明白了,醍醐灌顶(http: 阅读全文
posted @ 2017-05-07 21:46 honpey 阅读(196) 评论(0) 推荐(0)
摘要:kSum问题是一类问题,基本的方法是两个循环,其他一个查找,但是今天碰到了一个超级棘手的问题,是3Sum问题的一个变型 问题:给定一个数组,给定一个整数k,要求找出在数组中找到3个整数,使得这三个整数的和与k的相差最小! 思路:最受不了这种最大值最小值类的问题啦!如果是个确定的数还能通过一些二分查找 阅读全文
posted @ 2017-04-30 20:40 honpey 阅读(158) 评论(0) 推荐(0)
摘要:题目:非负数的数组,每个数组元素代表这你能最大跨越多少步,初始在0的位置,问,能不能正好调到数组的最后一位! https://leetcode.com/problems/jump-game/#/description 思路1:从尾部记录每个元素能不能到达末尾,算法复杂度O(n*n)【当时想出这个算法 阅读全文
posted @ 2017-04-30 14:40 honpey 阅读(165) 评论(0) 推荐(0)
摘要:题目:把一个N×N的矩阵旋转90° 思路:这个题目折腾了好长时间,确切地说是两个小时!这道题也反映出自己的逻辑比较混乱 这道题我到底卡在了哪里?自己已经在本子上画出了一个转移的关系 a[0][0] - > a[0][3] a[0][1] -> a[1][3] a[0][2] -> a[2][3] a 阅读全文
posted @ 2017-04-26 22:04 honpey 阅读(158) 评论(0) 推荐(0)
摘要:题目:将一个n个元素的数组右移k位,比如n=7,k=3,对数组【1,2,3,4,5,6,7】作如下旋转【5,6,7,1,2,3,4】 思路:【5,6,7,1,2,3,4】,不知大家看出来了没有呢,两次旋转,首先1,2,3,4部分旋转,然后5,6,7旋转,然后整个数组旋转,三次旋转OK 答案:http 阅读全文
posted @ 2017-04-25 07:22 honpey 阅读(166) 评论(0) 推荐(0)
摘要:题目:整数数组满足1<=a[i]<=n(n是数组的长度),某些元素出现一次,某些元素出现两次,在数组a[i]中找到【1,n】区间中未出现的数字。比如输入【4,3,2,7,8,2,3,1】,输出【5,6】。时间复杂度要求是O(n),空间复杂度要求O(1) 思路:看许多网友说用set数据结构去做,这就违 阅读全文
posted @ 2017-04-23 11:14 honpey 阅读(170) 评论(0) 推荐(0)
摘要:写在前面:研究操作系统,习惯了用C,但是在做算法题甚至构建大型系统时,C真的是噩梦。还是用C++比较好,基本算法很成熟,并可基于此实现更复杂的算法。那就边写算法边捡起来好久不用的C++吧! 题目:数组中的k差对(K-diff Pairs)。输入为一个数组A和一个整数k,找到数组中 所有的数值对pai 阅读全文
posted @ 2017-04-23 08:23 honpey 阅读(264) 评论(0) 推荐(0)