自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Steve Sun的专栏

撸呀么撸代码~

  • 博客(15)
  • 资源 (8)
  • 收藏
  • 关注

转载 TCP三次握手及其背后的缺陷

概述总结一下TCP中3次握手过程,以及其原生的缺陷 引起的SYN Flood的介绍【1】TCP三次握手【2】SYN Flood1、TCP连接建立——三次握手几个概念:【1】seq:序号,占4个字节,范围[0,4284967296],由于TCP是面向字节流的,在一个1个TCP连接中传送字节流中国的每一个字节都按照顺序编号,此外序号是循环使用

2015-08-10 00:26:54 8609 1

转载 阻塞、非阻塞、异步、同步以及select/poll和epoll

针对IO,总是涉及到阻塞、非阻塞、异步、同步以及select/poll和epoll的一些描述,那么这些东西到底是什么,有什么差异?一般来讲一个IO分为两个阶段:等待数据到达把数据从内核空间拷贝到用户空间现在假设一个进程/线程A,试图进行一次IO操作。A发出IO请求,两种情况:  1)立即返回  2)由于数据未准备好,需要等待,让出CPU给别的线程,自

2015-08-06 01:15:47 399

原创 凤巢面试题

/*** 输出字符串中的所有重复子串:* 例如:abcab* 输出: a, b, ab**/ voidgetAllSub(string str){ }

2015-08-28 17:20:05 969

原创 leetcode题解

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool isPalin

2015-08-27 21:16:13 1454

原创 笔试题整理

题1:如果x=2014,下面函数的返回值是()int fun(unsigned int x){ int n=0; while((x+1)) { n++; x=x|(x+1); } return n;}A.20  B.21  C.23 D.25答案: C题2:以下代码的输出是

2015-08-27 02:45:45 4065

原创 leetcode 线性表

class Solution {public: int search(vector& nums, int target) { int n = nums.size(); int first = 0, last = n - 1; while(first <= last){ int mid = (first + last)

2015-08-25 22:36:49 519

转载 序列化/反序列化二叉树

题目设计一个算法能够实现序列化和反序列化一棵二叉树(注意,不是二叉搜索树BST)。这里的序列化指的是将一棵二叉树保存到文件中,反序列化就是从文件中读取二叉树结点值重构原来的二叉树。思路前一篇文章保存二叉搜索树到文件中  解决了保存一棵二叉搜索树到文件中的问题,但是由于本题目的意思是要把一棵二叉树保存到文件中并从文件中读出重构二叉树。因为二叉树不一定是二叉搜索树,所以

2015-08-19 22:54:05 606

原创 leetcode 细节实现题

解法1:class Solution {public: bool isPalindrome(int x) { if(x < 0) return false; int d = 1; while(x / d >= 10) d *= 10; while(x){ int p = x / d;

2015-08-18 23:54:52 285

原创 面试题整理

题1:给出以下定义,下列哪些操作是合法的?12constchar *p1 = “hello”;char*constp2 = “world”;p1++;p1[2] = ‘w’;p2[2] = ‘l’;p2++;答案: Ap1是指向

2015-08-16 02:42:31 1065

原创 leetcode 字符串

class Solution {public: bool isPalindrome(string s) { transform(s.begin(), s.end(), s.begin(), ::tolower); auto first = s.begin(), last = prev(s.end()); while(first < last

2015-08-15 01:21:18 381

原创 leetcode-动态规划

class Solution {public: int minimumTotal(vector>& triangle) { for(int i = triangle.size() - 2; i >= 0; --i){ for(int j = 0; j < i + 1; ++j){ triangle[i][j] +=

2015-08-14 00:06:31 410

原创 leetcode 查找

解法1:直接使用STL:class Solution {public: vector searchRange(vector& nums, int target) { const int l = distance(nums.begin(), lower_bound(nums.begin(), nums.end(), target)); const i

2015-08-12 21:21:45 508

转载 基础知识普及帖:百度搜索引擎的工作流程

从输入关键词,到百度给出搜索结果的过程,往往仅需几毫秒即可完成。百度是如何在浩如烟海的互联网资源中,以如此之快的速度将您的网站内容展现给用户?这背后蕴藏着什么样的工作流程和运算逻辑?事实上,百度搜索引擎的工作并非仅仅如同首页搜索框一样简单。搜索引擎为用户展现的每一条搜索结果,都对应着互联网上的一个页面。每一条搜索结果从产生到被搜索引擎展现给用户,都需要经过四个过程:抓取、过滤、建立索引和输

2015-08-08 00:46:43 598

转载 多线程-锁的类型 && CAS 非阻塞同步

锁的类型根据完成任务所需要的结构不同,一个应用程序可能会使用多种不同类型的锁原语,因此,开发人员必须避免在一个给定任务中混淆这些锁原语,尤其在使用第三方提供的库时需要格外小心。假设在一个应用程序中,资源R依赖于第三方提供的库,并且在该库中资源R使用L型锁作为同步原语。此时,若开发者需要在应用程序中对资源R使用锁原语,则必须也使用L而不是其他类型的锁原语。接下来的部分将介绍不同类型的锁,并详细说

2015-08-05 00:57:39 2756

原创 树中两个结点的最低公共祖先

解法1:分别求根结点到两个结点的路径,求出两条路径的最低公共结点即可struct BinaryTreeNode{ int m_nValue; BinaryTreeNode *m_pLeft; BinaryTreeNode *m_pRight;};bool FindPath(BinaryTreeNode *pRoot, BinaryTreeNode *pNode, list &pat

2015-08-01 18:37:30 412

leetcode C++题解

leetcode 最新C++题解

2015-07-22

C和linux书籍

C和linux书籍

2015-06-11

购票软件源代码2

购票软件源代码2

2013-12-18

购票软件源代码1

购票软件源代码1

2013-12-18

计算机统考真题解析

计算机统考真题解析

2013-11-24

C++实现多线程通信

C++实现多线程通信

2013-11-17

火车票抢票软件

火车票抢票软件

2013-11-14

MFC编写的淘宝抢拍软件

MFC编写的淘宝抢拍软件,用于自动抢拍秒杀淘宝商品。直接多任务多线程,付上了使用文档和软件运行日志

2013-08-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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