自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 redis学习

详细的教程可以看http://www.redis.net.cn/tutorial/3505.html我们这里是个最简易的教程数据库server在ubutnu下面,我们直接自动安装sudo apt-get install redis-server修改配置文件,路径在/etc/redis/redis.conf注释掉下面就可以监听所有本机ip# bind 1...

2019-01-04 19:32:00 152

转载 boost log #3

现在,随着程序增大,我们不愿意再一个个看输出,我们将日志输出到文件。一旦执行了这个功能,控制台输出将被覆盖掉。#include <boost/log/trivial.hpp>#include <boost/log/expressions.hpp>#include <boost/log/utility/setup/file.hpp>n...

2018-11-30 00:31:00 178

转载 (转)深入理解TAILQ队列

又开始看libevent了,发现自己已经忘了它使用的基本数据结构,当初看的时候没有做笔记,结果就是现在又要重看一遍。发现一个不错的文章。这个实现主要的不同是使用了二级指针。先给出一个二级指针的例子。下面这个是个不好的反例,argc需要传递tv和time_event进去,所以需要使用结构体。我们使用了全局变量和一个二维指针,保存了time_event的地址。如果使用结构体,那么...

2018-11-27 13:15:00 337

转载 libevent timer定时器

每隔一秒循环执行回调函数#include <iostream>#include <event2/event.h>struct cb_arg{ struct event *ev; struct timeval tv;};void timeout_cb(int fd, short event, void *par...

2018-11-27 13:02:00 295

转载 boost log #2

我们在init()里初始化我们的logger。logging::core::get()返回这个logger。我们现在设置一个过滤器,让logger只打印info和info级别以上的日志。void init(){ logging::core::get()->set_filter ( logging::trivial::severity...

2018-11-12 14:46:00 120

转载 boost log #1

我们的第一个例子非常简单,用log取代控制台。这个例子里,log和printf一样。但是之后,我们看到,log可以添加打印时的属性,比如日志等级,事件,线程id等#include <iostream>#include <boost/log/trivial.hpp> using namespace std; int main () {...

2018-11-12 14:43:00 127

转载 linux共享内存介绍

所谓的mmap本意是将内存map到文件,对文件的操作就是对内存的操作。注意1.map无法改变文件的大小。比如这个例子,文件就是固定到了40字节。2.映射的大小超过mmap第2个参数设置的值。因为映射是基于页面的。一旦你访问超过这个页面,会受到SIGBUS或段错误SIGSEGV。只要打开这个共享内存的进程没有关闭,读者都可以访问页面,否则,只能访问到文件。比如这个例子,文件是4...

2018-11-11 16:48:00 105

转载 systemV消息队列

参考命令:1.  ipcs2.  ipckill例子参考了网络,作者不详。发送数据#include <stdlib.h>#include <stdio.h>#include <string.h>#include <unistd.h>#include <sys/msg.h>#incl...

2018-11-11 14:47:00 98

转载 linux网络测试:scp/nc

scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令。有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。scp[参数][原路径][目标路径]一、将本机文件复制到远程服务器上scp  /home/administrator/news...

2018-11-11 01:10:00 583

转载 记一次std::thread::join()出错

直接使用了muduo的测试工程,然后写了一个读写锁程序的测试时候,发现join无论如何也会出错,而且仅仅是出现在vs跨平台项目里。,找到了半天,发现两个事情:1,把编译选项修改成pthread,可以省得链接libpthread.a2,去掉static选项。错误不再发生。转载于:https://www.cnblogs.com/lsaejn/p/9909782.html...

2018-11-05 16:24:00 850

转载 epoll回射服务器

最大的好处就是返回的events都是有事件的fd。#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <sys/socket.h&...

2018-11-05 16:20:00 98

转载 C++正则表达式

百度的笔试测试居然是用c++写一个简单正则表达式匹配。。。像regex/chrono/random这些库,我基本上都是用的时候再查,因为要记的东西还是比较多(其实不多)。那就顺便做个记录。1.regex_search进行查找,而非全字符匹配2.regex_match进行全字符匹配3.std::sregex_iterator 指向所有匹配到的字符,依次遍历可以得到所有匹配的子串...

2018-11-02 11:30:00 189

转载 linux网络编程p2p程序

这个例子是简单的演示。先贴代码。服务端:#include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<unistd.h>#include<stdlib.h>#include<errno.h>#include...

2018-11-02 10:33:00 233

转载 fgets/gets,fputs/puts区别

最近用vim修改文件后,总会自动在结尾添加字符,简直蒙了。遇到一个gets缓冲区溢出的问题,查找之后才发现gets并非保证以'\0'结束。所以干脆记录一下。1. gets与fgets  gets函数原型:char*gets(char*buffer);//读取字符到数组:gets(str);str为数组名。  gets函数功能:从键盘上输入字符,直至接受到换行符或EOF时停...

2018-11-01 13:44:00 196

转载 gettimeofday的实现

gettimeofday的使用//copy from muduoTimestamp Timestamp::now(){ struct timeval tv; gettimeofday(&tv, NULL);//返回1970年至今的秒+微秒 int64_t seconds = tv.tv_sec; return Timestamp(seconds...

2018-10-30 00:33:00 752

转载 利用模板,以数组作为参数

数组在c语言里传给函数后,会退化成指针,这个时候需要借助模板template<typename T,int TS>void printX(T (&x)[TS])//not T[Ts] &x{   printf("%d", TS);}转载于:https://www.cnblogs.com/lsaejn/p/9870012.html...

2018-10-29 12:37:00 175

转载 字符串不能赋值给char*的解决办法

C++项目中经常会定义如下形式的字符串char *str = "hello word";很多代码都是这么写的,然而我们知道字符串放在静态区,以const char*来指向这段字符才是合理,以前这种错误的写法是没有问题的,可现在vs默认不允许这么赋值。解决方法:对于VS2017,在项目属性->C/C++->语言中->符合模式->否转载于:https://...

2018-10-26 22:04:00 1546

转载 leetcode#64 MinMum Path Sum

给定一个包含非负整数的mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。class Solution {public: int...

2018-10-09 23:29:00 87

转载 leecode#63 Unique Path Ⅱ

一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用1和0来表示。说明:m和n的值均不超过 100。示例1:输入:...

2018-10-09 23:21:00 237

转载 leetcode#292 Nim Game

你和你的朋友,两个人一起玩Nim游戏:桌子上有一堆石头,每次你们轮流拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2...

2018-10-09 23:18:00 97

转载 leetcode#62 Unique Path

一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m和n的值均不超过 100。示例1:输入: m = 3, n = 2输出: 3...

2018-10-09 23:16:00 65

转载 leetcode#61 旋转链表

给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。示例1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步...

2018-10-09 02:45:00 67

转载 leetcode#60 permutation sequence

给出集合[1,2,3,…,n],其所有元素共有n! 种排列。按大小顺序列出所有排列情况,并一一标记,当n= 3 时, 所有排列如下:"123""132""213""231""312""321"给定n和k,返回第k个排列。说明:给定n的范围是 [1, 9]。给定k的范围是[1, n!]。示例1:...

2018-10-09 02:37:00 87

转载 leetcode#59 spiral matrixs Ⅱ

给定一个正整数n,生成一个包含 1 到n2所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]class Solution {public: vector<vector<int>> generateMatr...

2018-10-09 02:17:00 85

转载 leetcode#58 Length Of LastWord

给定一个仅包含大小写字母和空格' '的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5class Solution {public: int lengthOfLastWord(string s) { ...

2018-10-09 02:14:00 168

转载 leetcode#57 Insert Interval

给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例1:输入: intervals = [[1,3],[6,9]], newInterval = [2,5]输出: [[1,5],[6,9]]示例2:输入: intervals = [[1,2],[3,5],...

2018-10-09 02:08:00 93

转载 leetcode#56 Merge Intervals

给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可...

2018-10-08 18:52:00 98

转载 leetcode#55 Jump Game

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。示例2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到...

2018-10-08 18:49:00 90

转载 leetcode#54 spiral matrix

给定一个包含mxn个元素的矩阵(m行,n列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [...

2018-10-08 17:28:00 54

转载 leetcode#53 Maxmium Subarray

给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。本题是C语言数据结构的第一个例题。解答不需要数...

2018-10-08 17:23:00 78

转载 leetcode#52 N queensⅡ

n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数n,返回n皇后不同的解决方案的数量。示例:输入: 4输出: 2解释: 4 皇后问题存在如下两个不同的解法。[[".Q..", // 解法 1 "...Q", "Q...", "..Q."...

2018-10-08 17:19:00 85

转载 leetcode#51 N queens

n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数n,返回所有不同的n皇后问题的解决方案。每一种解法包含一个明确的n皇后问题的棋子放置方案,该方案中'Q'和'.'分别代表了皇后和空位。示例:输入: 4输出: [ [".Q..", // 解法 1 ...

2018-10-08 17:02:00 90

转载 leetcode#50 Pow(x,n)

Implementpow(x,n), which calculatesxraised to the powern(xn).Example 1:Input: 2.00000, 10Output: 1024.00000Example 2:Input: 2.10000, 3Output: 9.26100Example 3:Input: 2.0...

2018-10-08 16:57:00 91

转载 leetcode#49 Group Anagrams

给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。...

2018-10-08 16:52:00 96

转载 leetcode#48. Rotate Image

给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,...

2018-09-29 17:33:00 101

转载 leetcode#47. Permutations II

给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]]这个解法虽然反复拷贝了容器,但是效率不见得差,因为反正你要把容器扔到result里,总是需要一个容器保存临时结果,与其反复地push和pop,不如就用本身来代替这个临时容器。class Sol...

2018-09-29 17:31:00 79

转载 leetcode#46. Permutations

给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]题目太简单,就要考虑写最少的代码。思路就是依次用元素和iclass Solution {public: ...

2018-09-29 17:30:00 75

转载 leetcode#45. Jump Game II

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设...

2018-09-29 17:29:00 165

转载 leetcode#44. Wildcard Matching(待补充)

给定一个字符串(s) 和一个字符模式(p) ,实现一个支持'?'和'*'的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符?和*。示例1:输入:...

2018-09-29 17:28:00 69

转载 leetcode#43 Multiply Strings

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。n...

2018-09-29 17:26:00 92

空空如也

空空如也

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

TA关注的人

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