自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Leetcode】之Remove Duplicates from Sorted Array II

一.问题描述Follow up for "Remove Duplicates":What if duplicates are allowed at most twice?For example,Given sorted array nums = [1,1,1,2,2,3],Your function should return length = 5, with

2016-06-21 11:53:32 229

原创 【muduo网络库学习】之基本的TCP Server工作机制

在《linux多线程服务端编程》的8.5节讲述了基于eventloop,channel,acceptor等底层的类构建TCP server的过程,以及TcpConnection的初步实现。这块的程序被各式各样的回调函数所充斥着,可读性不是太好。现在把相关程序的流程记录一下,方便以后的学习。首先还是看应用程序(使用tcpserver类的程序):#include "TcpServer.h"#

2016-06-20 14:56:26 693

原创 【Leetcode】之Subsets

一.问题描述Given a set of distinct integers, nums, return all possible subsets.Note: The solution set must not contain duplicate subsets.For example,If nums = [1,2,3], a solution is:[

2016-06-20 10:37:43 311

转载 linux的进程调度原理

Linux进程调度的目标    1.高效性:高效意味着在相同的时间下要完成更多的任务。调度程序会被频繁的执行,所以调度程序要尽可能的高效;    2.加强交互性能:在系统相当的负载下,也要保证系统的响应时间;    3.保证公平和避免饥渴;    4.SMP调度:调度程序必须支持多处理系统;    5.软实时调度:系统必须有效的调用实时进程,但不保证一定满足

2016-06-19 19:37:46 272

原创 【muduo网络库学习】之Acceptor类分析

《Linux多线程服务端编程》一书的8.4节介绍了Acceptor类的实现,下面是对这个类的分析。首先从client端入手看看怎么来使用这个类,client的程序如下:#include "Acceptor.h"#include "EventLoop.h"#include "InetAddress.h"#include "SocketsOps.h"#include void ne

2016-06-16 15:47:06 691

转载 C++中的RAII用法

C++中的RAII全称是“Resource acquisition is initialization”,直译为“资源获取就是初始化”。但是这翻译并没有显示出这个惯用法的真正内涵。RAII的好处在于它提供了一种资源自动管理的方式,当产生异常、回滚等现象时,RAII可以正确地释放掉资源。举个常见的例子:[cpp] view plain copy

2016-06-16 14:55:38 1107

原创 【Leetcode】之Combinations

一.问题描述Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.For example,If n = 4 and k = 2, a solution is:[ [2,4], [3,4], [2,3], [1,2], [1,3]

2016-06-16 11:38:08 252

原创 【Leetcode】之Sort Colors

一.问题描述Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.Here, we will use t

2016-06-16 11:23:50 222

原创 【muduo库学习】实现最简单的reactor模式

《linux多线程服务端编程 使用muduo c++网络库》的第8章是从0开始讲述一个网络库的实现,比较适合初学者入门。 在本书的第8章中是实现了以下几个类:eventloop类,poller类,channel类首先分析channel类的定义:#ifndef MUDUO_NET_CHANNEL_H#define MUDUO_NET_CHANNEL_H#include #incl

2016-06-15 16:20:40 752

原创 【Leetcode】之Search a 2D Matrix

一.问题描述Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:Integers in each row are sorted from left to right.The first int

2016-06-15 10:56:37 245

转载 C++中的const

C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1.const 修饰成员变量  1 #include 2 using namespace std; 3 int main(){ 4 int a1=3; ///non-co

2016-06-15 10:32:16 209

转载 C++中的new与delete

最近一直在啃 C++ Primer 中文版第4版,发现 C++中new和delete应用遍布全书,现对其使用作简单总结。在C++中,可以使用new和delete动态创建和释放数组或者单个对象,现在对它们的使用一一道来。1.创建动态数组        数组类型的变量有三个重要的限制:数组长度固定不变,在编译时必须知道它的长度,数组只在定义它的块语句中存在。对C++中关

2016-06-14 11:04:28 388

原创 【Leetcode】之Set Matrix Zeroes

一.问题描述Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.二.我的解题思路对于这道题,我的思路是用空间换时间。首先创建两个数组,int row_idx[row_num]={0}; int line_idx[line_num]={0],然后遍

2016-06-14 10:48:24 241

转载 C++继承

简单地说下C++类的3种继承方式,分别是public继承,protected继承,private继承。最常用的还是public继承。class默认的是private继承,它的member如果没写权限也是默认private。struct则相反,默认的是public继承。结合下面的图示和代码,对C++的继承就有了比较清晰的认识了。继承之后,derived cla

2016-06-14 10:17:38 280

转载 C++类与内存分配

一个类,有成员变量:静态与非静态之分;而成员函数有三种:静态的、非静态的、虚的。那么这些个东西在内存中到底是如何分配的呢?以一个例子来说明:12345678910111213141516171819

2016-06-13 17:28:31 453

原创 STL中的list

最近在细看《STL源码剖析》,看到list的源码的时候,一开始是有疑问的。list的迭代器设计是满足traits编程技法的,list的迭代器具体实现如下:templatestruct __list_iterator { typedef __list_iterator iterator; typedef __list_iterator const_itera

2016-06-03 11:11:22 358

原创 muduo网络库使用

之前粗略看过一段时间的nginx源码,对基于C实现的web server有了初步的理解。现在结合muduo网络库来学习下C++的web server。一.环境搭建首先是muduo网络库的安装和环境搭建:可参见http://blog.csdn.net/Solstice/article/details/5848547二.echo程序的编译运行muduo网络库是给出了很多的例子,我首

2016-06-02 15:15:40 3206

转载 TCP管理的4种定时器

TCP共使用以下四种计时器,即重传计时器、坚持计时器、保活计时器和时间等待计时器。这几个计时器的主要特点如下:    1、重传计时器    当TCP发送报文段时,就创建该特定报文段的重传计时器。可能发生两种情况:    (1)、若在计时器截止时间到(通常是60秒)之前收到了对此特定报文段的确认,则撤销此计时器。    (2)、若在收到了对此特定报文段的确认之前计时器截止期到,则重传

2016-06-01 20:07:18 576

原创 【Leetcode】之Climbing Stairs

一.问题描述You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?二.我的解题思路这道题也很简单,

2016-06-01 11:35:48 323

原创 【Leetcode】之sqrt(x)

一.问题描述Implement int sqrt(int x).Compute and return the square root of x.二.我的解题思路给定一个整数x,要求解的是一个int型的m,使得该m满足: m*m 最直观的想法自然就是从1开始遍历1,2,...., m-1 。但是这样的复杂度自然是比较高的。为了降低时间复杂度,很自然地想到使用二分法。

2016-06-01 11:14:51 248

转载 C++中的const用法

C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用   如下表所示:No.作用说明参考代码

2016-06-01 10:13:43 331

muduo-master.zip

muduo的c++开源库,是学习c++后台开发的非常好的资源。

2019-06-26

空空如也

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

TA关注的人

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