stpeace的专栏

接纳自己,提升认知,拥抱不确定性。

排序:
默认
按更新时间
按访问量

周末来翻转下链表

      周末, 小雨, 链表翻一翻。用呵呵哒来表达写这篇博文的心情。         有一个链表, 翻转前k个结点, 如果n-k < k,  则不翻转后n-k个结点, 否则, 翻转。 #include <iostream&gt...

2018-08-04 14:52:56

阅读数:1222

评论数:0

用hash map和双向链表实现LruCache

       之前介绍过hash table, 也介绍过hash map,  当然, 双向链表也早就说过, 现在来看看如何用这些东西来实现一个LruCache,  直接上代码: #include <iostream> #include &am...

2018-08-02 22:58:28

阅读数:1230

评论数:0

字符数组的压缩程序

      周六,小雨,写个字符压缩代码,来玩一下。      压缩示例:a b b c c c d e e a b 2 c 3 d e 2 a b b c c c d e f a b 2 c 3 d e f a a a b a b a a a 2 a a a a 3     代码:#includ...

2018-07-14 11:43:39

阅读数:1881

评论数:2

这个面试题, 我设计的0-1表比红黑树好!

前不久, 遇到这样一个面试题:   设计一个集合(集合数据的大小范围为[0, 1000]), 要求设计一个set, 能增, 删, 查, 并能查集合元素的个数。 要求效率尽可能高。         我估计, 面试官可能是想让我用链表、BST, AVL, 或者红黑树来搞, 不过我直接给出数组的解法,...

2017-09-05 00:14:43

阅读数:5364

评论数:0

红黑树(RB-tree)比AVL树的优势在哪?

转载地址: http://blog.csdn.net/mmshixing/article/details/51692892         略有删减。        今天看了STL源码剖析中关于红黑树的原理和实现,看完复杂的节点插入、节点颜色变换后不禁想:这些功能经典的AVL树也能实现,为什...

2017-09-03 20:04:51

阅读数:4903

评论数:0

面试官问我是直接做笔试题目还是对着笔试题目直接说思路/答案, 我选择后者。

面试官问我是直接做笔试题目还是对着笔试题目直接说思路/答案, 我选择后者, 因为做笔试题目浪费时间。        在遇到memmove题目时候, 我要补充一句(注意考虑内存重叠), 他却不让我说。 晕。        呵呵哒。

2017-09-02 11:55:35

阅读数:4944

评论数:0

将文件中所有的abc替换为def

面试时遇到这个, 写程序是最烂的解法。         1. notepad/ultraEdit来替换         2. sed/awk来替换         3. php         4. C++         如果有其他好方法, 请告诉我。 谢谢。

2017-09-02 11:48:47

阅读数:4921

评论数:0

写个atoi程序

面试遇到这种题目, 本文我就不写了, 考点在于需要注意异常情况。        不想写。

2017-09-02 11:44:14

阅读数:4738

评论数:0

又是考查内存对齐和指针理解, 简单东西。

如下: 又是考查内存对齐和指针理解, 简单东西。 #include using namespace std; #pragma pack(4) struct X { int a; char b[3]; short c; char d[3]; int e; char f; cha...

2017-09-02 11:39:12

阅读数:4799

评论数:0

一个台阶有n阶,一人每次可跳1,2……,最多一次跳n阶,问这个人跳上去有多少种跳法?

一个台阶有n阶,一人每次可跳1,2……,最多一次跳n阶,问这个人跳上去有多少种跳法?        这种题目很俗套了, 直接回到高中数学, 数列递归公式搞起:        a(n) =  a(n - 1) + a(n - 2) + ... + 1

2017-09-02 11:23:17

阅读数:4925

评论数:0

面试题目: 求1+2+3+4+......+172+173

面试题目: 求1+2+3+4+......+172+173        我只想问, 考点在哪里?         这种题目, 我用计算机作答。

2017-09-02 11:15:17

阅读数:4939

评论数:0

面试题目:173的阶乘。 我一行代码搞定!

面试题目让写173的阶乘, 我一行代码就搞定, 代码如下: // 请参考我的博客博文: http://blog.csdn.net/stpeace/article/details/11828813        不多说。

2017-09-02 11:07:52

阅读数:4917

评论数:0

满大街都是这种烂题目------从100亿个整数中找出最大的1000个整数

不得不说, 这年头, 满大街都是类似这种烂题目------从100亿个整数中找出最大的1000个整数。        注意点: 内存装不下, 不能一次读到内存。        思路: 随便抽出1000个数, 假设他们是最大的1000个, 然后把剩余的数往其中加, 接着在这1001个数据中淘汰最小的...

2017-09-02 11:02:35

阅读数:5061

评论数:2

一个易错的面试题来加深对C++多态的理解

原题目程序比较长, 我来简化成核心的考察部分, 如下: #include using namespace std; class A { public: virtual void x() { cout << "A::x" << endl; ...

2017-09-02 10:50:35

阅读数:5115

评论数:0

linux fork多进程并发服务器模型之C/C++代码实战

在很早的文章中, 我们一起聊过服务器如何与多个客户端进行通信, 那时, 我们要么用select, 要么用多线程, 却没有用多进程。 其实, 多进程也可以实现与多个客户端进行通信。 如果是在while中循环accept, 然后循环处理事情, 此时, 这种服务是迭代服务, 只能逐一...

2017-07-23 20:16:13

阅读数:5278

评论数:6

聊聊tcp四次挥手中的TIME_WAIT状态存在的理由

记得在2012年的时候, 我开始找实习, 某公司笔试题目中提到了TIME_WAIT这些东西, 我简直是一脸懵逼, 第一次见, 这东西讨论来讨论去, 有用么? 呵呵哒。         下面叙述中, 用A表示tcp连接的主动关闭端, 用B表示被动关闭端。         我们知道, 在tcp四次...

2017-07-22 11:33:34

阅读数:5546

评论数:8

居然很少有人质疑: 2MSL的TIME_WAIT时间真的足够保证旧连接上的所有包都消失吗?

看了不少TIME_WAIT方面的书籍和网络文章, 很多地方不过是在人云亦云的拷贝别人的说法和思想而已, 看得让人颇为无趣。         对于TIME_WAIT, 言必称2MSL, 当然, 如果是笔试面试, 我也会这么答, 因为这就是所谓的标准答案啊。 然而, 2MSL的TIME_WAIT时间...

2017-07-22 09:23:55

阅读数:5256

评论数:0

socket I/O上设置超时的三种方法及其比较

        在socket I/O上设置超时, 一般有三种方法, 下面我们来聊聊。       1.  select/poll        这是最好的方法, 也是最为推荐的, 对于send/sendto和recv/recvfrom, 都可以用select和poll来设置超时时间, 这种情况下...

2017-07-22 00:13:21

阅读数:5345

评论数:0

tcp四次挥手中CLOSE_WAIT状态的最大时间是多长?

我们知道, 在tcp四次挥手中, 被动关闭的一方会进入CLOSE_WAIT状态, 这个状态是干啥的呢?  其实就是wait to close,  也就是wait应用程序(被动关闭端)close socket,  至于应用程序什么时候close, 那完全取决于程序。         所以, CLO...

2017-07-19 00:04:34

阅读数:5614

评论数:0

再聊tcp keepalive机制和与之相关的tcp RST

在http://blog.csdn.net/stpeace/article/details/44162349  《心跳机制tcp keepalive的讨论、应用及“断网”、"断电"检测的C代码实现(Windows环境下)》中, 我已经非常详细地给出了对应的实验和代码。那是很多年...

2017-07-17 07:59:56

阅读数:5193

评论数:2

提示
确定要删除当前文章?
取消 删除
关闭
关闭