自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 贪吃蛇

greedy_snake.pyencoding = utf-8import sysimport timeimport pygamefrom pygame.sprite import Groupfrom snake import Snakefrom food import Fooddef eat_check(food,snake,score,screen,snake_g):fo...

2018-10-29 09:41:17 199

原创 杨辉三角

#-*- coding:utf-8 -*-def triangles(n): list1=[1] list2=[1,1] yield list1 yield list2 temp=1 now=3 list1=list2 list2=[1] while now <= n: while temp < ...

2018-10-29 09:36:05 420

原创 替换空格

题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。class Solution {public:    void replaceSpace(char *str,int length) {        if(str==NULL||length     

2015-10-04 21:32:10 369

原创 二维数组中的查找

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public:    bool Find(vector > array,int target) {        if(array.size()            retur

2015-10-04 21:17:06 341

原创 文章标题

王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件 附件 电脑 打印机,扫描仪 书柜 图书 书桌 台灯,文具 工作椅 无如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有 0 个、 1 个或 2 个附件。附件不再有从属于自己的附件。王强想买的东西很多,为了不超出

2015-09-01 13:23:40 650

原创 反转链表

给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。 输入描述:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、结点总个数正整数N(5)、以及正整数K(<=N),即要求反转的子链结点的个数。结点

2015-08-24 09:35:28 436

原创 HEAP CORRUPTION DETECTED

错误:heap corruption detected:after normal block(#xxx) at 0x xxxxxxxxcrt detected that the application wrote to menory after end of heap buffer heap corruption的意思就是说输入超出了欲分配的空间大小,覆盖了该空间之后的一段存储

2015-08-13 13:47:05 470

原创 最长递增子序列的长度

对于一个数字序列,请设计一个复杂度为O(nlogn)的算法,返回该序列的最长上升子序列的长度,这里的子序列定义为这样一个序列U1,U2...,其中Ui 给定一个数字序列A及序列的长度n,请返回最长上升子序列的长度。测试样例:[2,1,4,3,1,5,6],7返回:4采用两个辅助数组dp[],help[],数组长度均为n.max_length表示最长递增子序列的长度。dp[i

2015-08-07 16:26:40 365

原创 HTTP 服务器程序

1、 HTTP只有两类消息:HTTP请求消息,由客户机端(如浏览器)向服务器发送的消息,用于请求服务器提供某种类型的服务;HTTP响应消息,服务器接收到请求消息之后返回给客户端的信息,表明服务器所作出的回答。两种消息具有相同的格式,通常分为消息头和消息体两个部分。消息头一定要有,消息体是可选的。消息头部的首行有特殊的格式,首行的后面有多个头部标题字段行,也简称为消息标题。每个头部标题行由标题字段名

2015-08-01 14:35:55 1661

原创 I/O完成端口模型

完成端口模型即Win32通过一个完成端口对象,统筹指定数量的工作线程对重叠I/O请求进行管理,以便为已经完成的重叠I/O请求提供服务的I/O模型。在使用这种模型之前,首先要创建一个I/O完成端口对象,用它面向任意数量的套接字句柄,管理多个I/O请求。将套接字句柄与一个完成端口关联在一起后,便可以套接字句柄为基础,投递发送或接收请求,开始I/O请求的处理。接下来,可开始依赖完成端口,接收有关I/O操

2015-07-26 17:01:20 439

原创 WSAEventSelect模型

WSAEventSelect模型类似于WSAAsynSelect模型,但最主要的区别是网络事件发生时会被发送到一个事件对象句柄,而不是发送到一个窗口。该模式下编程步骤为:【1】首先创建事件对象来接收网络事件。       WSAEVENT         WSACreateEvent(void);       调用后返回事件对象句柄,初始状态为无信号且为手工重置事件,如果程序想使用自动

2015-07-26 16:02:52 443

原创 WSAAsynSelect模型

Windows  Socket的异步选择函数WSAAsyncSelect()提供了对网络事件基于消息机制的异步存取,通过 该函数可以注册应用程序感兴趣的网络事件,当登记的网络事件 发生时,相应的窗口将收到一个信息,消息中指示了发生的网络事件及其相关信息。      int  WSAAsyncSelect(socket  s,HWND   hWnd,unsigned  int  wMsg,lon

2015-07-26 14:57:04 362

原创 Winsock select编程模型

1、winsock的两种I/O模式        Windows  Socket套接字可以在两种模式下进行I/O操作:阻塞模式和非阻塞模式。       在阻塞模式下,执行I/O操作的函数在操作完成之前会一直等待,不会将这种控制权返回给程序,这样任一线程在某一时刻只能执行一个I/O操作。套接字在创建时默认为阻塞模式。在非阻塞模式下,执行I/O操作的Winsock函数会立即返回并交出控制权,

2015-07-26 14:19:35 459

原创 IP包流量分析程序

使用套接字编程实现捕获一段时间内以本机为源地址或目的地址的IP数据包(不包括以广播形式发出的数据包),统计IP数据包的信息,列出本机与其他主机之间不同协议类型IP数据包的数量 及流量。以源地址  目的地址  协议类型  数据包数量  流量的格式输出统计信息。     1、IP数据报格式:     (1)版本:表示所使用的IP协议的版本,4表示IPv4,6表示IPv6     (2)

2015-07-23 22:33:45 4891 3

原创 使用原始套接字编程实现简单的ping程序

程序实现步骤:1、初始化Windows Sockets网络环境  WSADATA    wsa;WSAStartup(MAKEWORD(2,2),&wsa);2、构造目的端Socket地址3、创建原始套接字4、定义IP和ICMP头部数据结构5、发送报文6、接收报文其中ICMP回显请求与回显应答报文结构如下图:typedef struct IcmpHead

2015-07-20 10:59:08 7344 1

原创 网络编程 CAsyncSocket类的应用实例 聊天程序 客户端代码

此应用实例采用客户机、服务器模式,实现与服务器之间相互发送消息,编程步骤如下:1、构造一个套接字     CAsyncSocket  sockClient;2、创建SOCKET句柄 sockClient.Create();             Create()函数:BOOL  Create( UINT nSocketPort=0,int     nSocketType=SOCK

2015-07-19 20:07:28 5104 2

原创 打印汉诺塔游戏轨迹

对于传统的汉诺塔游戏我们做一个拓展,我们有从大到小放置的n个圆盘,开始时所有圆盘都放在左边的柱子上,按照汉诺塔游戏的要求我们要把所有的圆盘都移到右边的柱子上,请实现一个函数打印最优移动轨迹。给定一个int n,表示有n个圆盘。请返回一个string数组,其中的元素依次为每次移动的描述。描述格式为: move from [left/mid/right] to [left/mid/right]。

2015-07-18 16:40:06 745

原创 面试常考算法题 局部最小 求二叉树结点 求两个数组中所有数的上中位数 两个数组的所有数中第K小的数

定义局部最小的概念。arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0]给定无序数组arr,已知arr中任意两个相邻的数都不相等,写一个函数,只需返回arr中任意一个局部最小出现的位置即可。class Solution {public:    int getLessIndex(vector arr) {      int N=arr.size

2015-07-11 20:31:02 1833

原创 编写一个方法,将字符串中的空格全部替换为“%20”

请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。测试样例:"Mr John Smith”,13返回:"Mr%20John%20Smith"

2015-07-09 23:24:36 3081

原创 数据结构--二叉树遍历 C++实现

1、二叉树结构定义struct node{  int data;//数据 node * leftchild;//左孩子结点node * rightchild;//右孩子结点}2、二叉树的递归遍历   2.1先序遍历       void preorder(node *r){     if(r!=NULL){//NULL 还是null?       cou

2015-06-02 20:35:26 317

原创 win7(32位)配置cocos2d-x

我的电脑是win7家庭普通版32位,Python安装的2.7.8,cocos2d安装的是2.2.6,用的是vs20101、首先呢,我们要装一个vs,貌似visual studio2010,visual studio2012都可以,我都装了,不过我的2010是正版,所以就用它了。2、然后呢,我们要装Python。下载地址:https://www.python.org/downloads/。

2015-05-30 15:27:52 609

原创 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

class Solution {public:  stack s1;//保存数据用的栈    stack s2;//保存最小的数的栈,其中它的栈顶始终为最小的数    void push(int value) {    s1.push(value);        if(s2.empty()) s2.push(value);//如果S2为空,则value是最小的值,入栈

2015-05-25 20:58:37 428

原创 数据结构--C++

本文将根据自己对数据结构的理解,介绍数据结构的基本类型--链表。写的不好的地方欢迎指正。首先是单链表。结点数据结构定义:struct    node{int data;node* next;}单链表的基本操作:1、确定链表长度:   int  length(node*  first)  const{   node* current=first;   

2015-05-14 14:12:20 281

原创 输入一个二叉树,输出其镜像。

/*struct TreeNode {    int val;    struct TreeNode *left;    struct TreeNode *right;    TreeNode(int x) :            val(x), left(NULL), right(NULL) {    }};*/class Solution {pub

2015-04-25 11:37:53 544

原创 输入两颗二叉树A,B,判断B是不是A的子结构。

这里测试的结果为假设B是空二叉树,则B不是A 的子结构。/*struct TreeNode {    int val;    struct TreeNode *left;    struct TreeNode *right;    TreeNode(int x) :            val(x), left(NULL), right(NULL) {    }

2015-04-25 11:06:54 466

原创 输入一个链表,输出该链表中倒数第k个结点。

/*struct ListNode {    int val;    struct ListNode *next;    ListNode(int x) :            val(x), next(NULL) {    }};*/class Solution {public:    ListNode* FindKthToTail(ListNode

2015-04-23 11:36:32 280

原创 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。

/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */cla

2015-04-23 09:51:38 1762

原创 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

class Solution{public:    void push(int node) {        stack1.push(node);    }    int pop() {        if(stack2.empty())        {while(!stack1.empty())        {stack2.push(stack1.to

2015-04-23 09:13:42 2677

原创 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

class Solution {public:  int rectCover(int number) {        if(number==1)            return 1;        else if(number==2)            return 2;            else {        return rectCover(

2015-04-22 22:24:32 2937

原创 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

class Solution {public:  int jumpFloorII(int number) {     int count=0;        if(number0)            return count;        else if(number==1)            return 1;        else if(number

2015-04-22 22:23:48 2842

原创 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

class Solution {public:  int jumpFloor(int number) {    int count=0;        if(number0)            return count;        else if(number==1)            return 1;            else if(numbe

2015-04-22 22:21:52 2401

空空如也

空空如也

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

TA关注的人

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