自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 位运算实现a+b

题目:给出两个整数 a 和 b , 求他们的和。a 1 1 0 0 b 1 0 1 0c 10 1 1 0递归:return b == 0? a : aplusb(a^b,(a&b)<<1);其中 a^b 表示不同的元素, (a&b)<<1 表示相同的元素。非递归 tmp = ...

2018-09-28 14:53:00 148

转载 601. 体育馆的人流量

X 市建了一个新的体育馆,每日人流量信息被记录在这三列信息中:序号(id)、日期(date)、人流量(people)。请编写一个查询语句,找出高峰期时段,要求连续三天及以上,并且每天人流量均不少于100。例如,表stadium:+------+------------+-----------+| id | date | people ...

2018-07-19 11:15:00 144

转载 剑指offer解题思路锦集21-30题

又来更新剑指offer上的题目思路啦。转载于:https://www.cnblogs.com/ccXgc/p/9235817.html

2018-06-27 20:17:00 111

转载 Redis面试题

1、为什么使用redis(高性能、高并发)   一、高性能,直接从内存中操作,性能远大于操作db。因为db读取的是磁盘上的文件,一般是机械运动,特别慢。   二、高并发,因为mysql有链接数量上限,超出了就会挂了。而redis不存在这个问题,为什么呢?因为redis使用的是epoll,而mysql使用的是线程池。epoll抗高并发只要内存足够,可以随意抗。而一个进程创建的线程数是有...

2018-05-29 19:16:00 105

转载 访问线上服务器慢问题

调用访问一个https接口特别慢,有什么好的定位问题思路吗?1、同样一个请求,在开发机上调用是200ms左右返回,永远正常。 在线上服务器偶尔返回特别慢,有段时间200ms,有段时间2s,有段时间10s...2、试过将域名换成ip调用,仍然出现以上问题。3、开发机和线上服务器的/etc/sysctl.conf配置一样。4、内存、磁盘、带宽都正常。先di...

2018-05-26 01:24:00 241

转载 Nginx开发从入门到精通笔记——初探nginx架构(100%)

命令:1、kill -HUP pid 从容重启nginx,也用于重新加载配置文件。2、nginx -s reload 同13、nginx -s stop 停止运行一、多进程模型VS单进程模型单进程优点:   用于调试,方便多进程优点:   1、高性能,充分利用cpu资源。   2、进程之间互相不影响,一个工作进程挂了不影响另外的工作进程。   3、不用复杂的线程互斥...

2018-05-24 20:59:00 474

转载 从session到token

这几天在搞小程序涉及到登陆。然后想起了很早以前自己看的一篇文章。《干掉状态:从session到token》链接:http://weixin.niurenqushi.com/article/2017-03-20/4794863.html该文提出了以下几点观点:1、session是有状态的,每次登陆时候给客户端返回一个随机码,客户端每次请求带上这个随机码来标识自己的身...

2018-05-24 18:49:00 181

转载 Future是什么?

Future就是保存我们任务的完成信息,比如说,任务中会通过返回某些东西告诉别人它已经结束了,而Future中就保存了这种信息。转载于:https://www.cnblogs.com/ccXgc/p/9053047.html...

2018-05-17 20:38:00 444

转载 位操作实现内存对齐及其原理

内存对齐:#define MG_ALIGN(size, align) (((size) + (align) - 1) & ~((align) - 1)) 原理:https://blog.csdn.net/fengbangyue/article/details/6531455 通俗解释下吧,假设对于 xxxx xxxx xxxx xxxx xxxx xxxx xxx...

2018-05-16 17:16:00 522

转载 为什么要用do-while(0)?

今天读代码时候,看到这样的代码。。#define MG_SET_PTRPTR(_ptr, _v) \do { \if (_ptr) *(_ptr) = _v; \} while (0)1、对于带有if 语句的宏,无论是内核还是开源代码,都是用到了do while(0)技巧。问题来了,为什么要这样搞呢? 很简单,假设存在if XXX{i...

2018-05-16 17:14:00 516

转载 为什么TCP要3次握手?4次挥手?

为什么要3次握手?假设存在以下过程:A->B (写信,我想和你吃饭)B->A (写信,收到,我也想和你吃饭)A->B (写信,收到)其实呢,最开始两步,是因为通信的双方要互相通知对方自己的初始化的Sequence Number(缩写为ISN:Inital Sequence Number)——所以叫SYN。引申的问题有以下三个:1...

2018-05-13 16:55:00 71

转载 分支预测

问题:怎么提高if语句性能?分支预测又是什么?C/C++ 分支预测(likely unlikely),原理是很么?原理:执行时候,分两步,    1、将指令(多条,因为这样更快)从内存搞到高速缓存。    2、开始执行指令。因此分支预测可以让程序员告诉编译器, x == 3 很大概率不出现,让最后才生成 x == 3 的汇编。。。这样CPU执行时候就可以利用 【局部...

2018-05-13 16:46:00 280

转载 事务隔离级别说明

1、Read uncommitted 未提交 脏读 2、Read committed 读提交 怎么解决脏读问题?很简单,就是只读提交了的数据,但是这样会造成问题就是【不可重复读】,一个事务范围内两个相同的查询却返回了不同数据。原因是事务在执行过程中另外的事务对数据进行了update。。。 3、Repeatable read 重复读 怎么解决读提交问题?也很简单,禁止...

2018-05-13 16:43:00 81

转载 剑指offer解题思路锦集11-20题

又来更新剑指offer上的题目思路啦。11、【二进制中1的个数】题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。eg:NumberOf1(1)=1NumberOf1(2)=0NumberOf1(3)=2NumberOf1(4)=1NumberOf1(5)=2NumberOf1(6)=2NumberOf1(7)=3...

2018-05-13 13:54:00 93

转载 C++中的二义性问题

直接贴代码吧。。。没啥好说的。。。#include<iostream>#include<string>#include<vector>using namespace std;struct Base1{ void print(int) const{ cout<<"Base1"&lt...

2018-05-11 10:28:00 161

转载 memcached Vs redis

memcached Vs redis:1、基于libevent==>代码庞大==>最大同时连接数为200(线程)/比较慢==>redis实现了自己的网络库,用的epoll。2、memcached是2003搞出来的==>数据结构比较少===>Redis数据结构比较多。3、memcached内存不够用时==>数据会丢失,LRU淘汰了就Miss了==>...

2018-05-10 17:25:00 99

转载 剑指offer解题思路锦集1-10题

1、【二维有序数组查找】在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。方案肯定是要用O(n)级别的,如果是O(N^2),那么还就是暴力破解。这样根本就没有利用到题目的性质====》二维有序数组,所以还是老老实实想O(N)的算法吧!即存在...

2018-05-07 10:57:00 89

转载 排列树

还是拿背包问题来分析吧,假设有N个背包,现在我们要对这个N个背包排列。。输出所有情况那么有: 背包 1 2 3 ... n ...

2018-05-04 19:28:00 307

转载 子集树

最近上班上到脑袋都晕,,,突然想到要复习一下。就搞了个子集树的代码。。其实子集树有点像暴力破解,大名鼎鼎的0-1规划中的背包问题一样。假设有N个背包,对应N个元素。那么有: 背包 1 2 3 ...

2018-05-04 19:05:00 303

转载 用两个栈实现一个队列

思路:  假设存在两个栈stack1、stack2,可以这样认为:    stack2中保存的为【队列的前部分元素】,可以认为 其栈顶值 = 队列头部值。    stack1中的元素为【未经转换的队列后部分元素】,相当于buffer一样的存在,它其实就是队列中后部分元素逆序的结果。因此需要将其元素全部投入到stack2中,这样完成翻转过程。画图如下:| &...

2018-05-02 08:43:00 65

转载 根据前序遍历和中序遍历结果重构二叉树

思路很简单,只是用到分治法思想。核心是找出左右子树所在的数组。/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), lef...

2018-05-02 08:32:00 86

转载 链表逆序打印

方法一用vector,时间复杂度空间复杂度都是O(N),比较简单,忽略。方法二,使用递归,空间复杂度和时间复杂度也是O(N)。/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(...

2018-05-01 17:36:00 99

转载 单链表逆转

题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。画个图吧,假设存在单链表A->B->C->D->E如果不想任何指针,该如何如何定义之类的,那么翻转过程可以搞成如下:|A->B->C->D->E |B->A->C->D->E |C-&...

2018-04-26 15:49:00 65

转载 二叉树线索化。。。

二叉树线索化递归版本的代码,核心在于引用,起到画龙点睛的作用。。。。面试时候没想出来。。。明天继续更新非递归版本的二叉树线索化。。。#include <cstdio>#include <vector>#include <iostream>using namespace std;struct BinaryTreeNode{...

2018-04-24 20:58:00 58

转载 如何通过指针访问虚函数表,并且调用里面的方法

昨天面头条,,,最后面试官问道如何用指针访问虚函数表的东西。。。然后瞎写了一通,gg了应该。昨天的答案fun = (Fun)((int)(((Base*)0)->f)+4);fun()额。。。。昨天的代码是编译也通不过的。。。因为C++是无法获取 任何方法地址的。。。简单的demo测试。。。#include <iostream>...

2018-04-24 18:37:00 546

空空如也

空空如也

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

TA关注的人

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