- 博客(27)
- 收藏
- 关注
转载 Linux下cond和mutex实现读写锁
首先介绍下pthread_cond_t。 在Linux下称之为状态变量,与之相关的有下面几个API: int pthread_cond_init (pthread_cond_t *COND,pthread_condattr_t *cond_ATTR); int pthread_cond_signal (pthread_cond_t *COND); int pthread_cond...
2018-02-23 00:40:43
116780
原创 Leetcode 297. Serialize and Deserialize Binary Tree
AC代码。 c++版本的。序列化Binary Tree。 这里因为给定的Tree的val是Integer,所以我们可以用一个字符型的常量当做delimiter,比如','。然后我们可以使用两种方法, pre-order traversal,或者level-order traversal。两种方法的时间复杂度和空间复杂度都一样。下面是pre-order traversal的:Time Comple...
2018-02-22 15:26:03
115627
原创 用户画像——ID-Mapping
讲解ID-Mapping算法之前,先说几个重要概念:MAC(Media Access Control),MAC位址,为网卡的标识,唯一标识网络设备。IMEI(International Mobile Equipment Identity),通常说的手机序列号、手机“串号”,在移动电话网络中识别每一部独立的手机等行动通讯装置;序列号共有15位数字,前6位(TAC)是型号核准号码,代表手机类型
2018-01-04 14:46:31
175345
5
原创 leetcode 715. Range Module 解题报告
A Range Module is a module that tracks ranges of numbers. Your task is to design and implement the following interfaces in an efficient manner.addRange(int left, int right) Adds the half-open
2017-12-19 19:08:42
218856
转载 Leetcode 730. Count Different Palindromic Subsequences
【Leetcode730】Count Different Palindromic Subsequences补充原创地址: http://zxi.mytechroad.com/blog/dynamic-programming/leetcode-730-count-different-palindromic-subsequences/解题报告来自@花花酱的 youtube视频,可惜国内看不了
2017-11-28 21:31:09
247297
原创 10年面试2000人,张一鸣总结优秀年轻人的5大特质
有好奇心,能够主动学习新事物、新知识和新技能对不确定性保持乐观不甘于平庸不傲娇,要能延迟满足感对重要的事情有判断力
2017-05-24 13:10:51
245406
原创 PHP——php不为熟知的小技能
1. PHP preg_*() 默认有字符串长度限制例如 preg_replace(),preg_match(),preg_match_all()等函数,默认有字符串长度限制:52500(不同服务器环境稍微不同),当字符串长度大于52500,只能匹配到52500数据,超出的部分会被系统自己截掉。解决方法:ini_set(‘pcre.backtrack_limit’, 999999999);注:这个
2017-03-09 15:53:01
288601
转载 数据挖掘——关联规则之Apriori算法
数据挖掘领域,关联规则是数据中一种简单但很实用的规则。发现关联规则的算法属于无监督学习的方法,常用的有三种:Apriori算法、基于划分的算法、FP-树频集算法。
2016-07-28 17:47:46
433124
原创 架构——Hadoop深入介绍
Hadoop是一个分布式系统基础架构,最核心的包括并行计算模型Map/Reduce,分布式文件系统HDFS,以及分布式数据库Hbase。
2016-07-28 01:48:10
431822
转载 操作系统——linux系统文件目录机构
原文引用地址: http://blog.sina.com.cn/s/blog_662234020101ebfd.html Linux下的文件系统为树形结构,入口为/ 树形结构下的文件目录: 无论哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体差不多。1. / 文件系统的入口,最高一级目录;2. /bin 基础系统所
2015-11-25 18:24:46
513925
1
翻译 大数据——海量数据处理的基本方法总结
声明: 原文引用参考July大神的csdn博客文章 => 海量处理面试题 海量数据处理概述所谓海量数据处理,就是数据量太大,无法在较短时间内迅速解决,无法一次性装入内存。本文在前人的基础上总结一下解决此类问题的办法。那么有什么解决办法呢? 时间复杂度方面,我们可以采用巧妙的算法搭配合适的数据结构,如Bloom filter/Hash/bit-map/堆/数据库或倒排索引/trie树。空间
2015-09-03 22:26:45
532166
原创 PHP——底层运行机制与原理
PHP用起来感觉很简单方便,但是要精通PHP,熟悉底层的工作原理也不是一件容易的事。1 PHP的设计理念及特点多进程模型:由于PHP是多进程模型,不同请求间互不干涉,这样保证了一个请求挂掉不会对全盘服务造成影响,当然,时代发展,PHP也早已支持多线程模型。弱类型语言:和C/C++、Java、C#等语言不同,PHP是一门弱类型语言。一个变量的类型并不是一开始就确定不变,运行中才会确定并可能发生隐式
2015-08-20 23:57:01
530577
1
转载 操作系统——面试知识点精华
僵尸进程和孤儿进程 引用地址:http://www.cnblogs.com/Anker/p/3271773.html 基本概念: 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。 僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进
2015-08-19 20:30:57
522146
原创 LINUX——监控服务器状态
linux系统下监控服务器状态, 包含很多项,本文主要讲解监测Linux服务器的CPU、硬盘、内存、网络接口、主板等硬件的工作状态。如何监控硬盘核心思想 使用指令 df 。示例程序#!/bin/bashIP=` hostname -i `HostName=` hostname `disk_sda2=`df -Ph |grep /dev/sda2 |awk '{print $5}'
2015-08-04 17:28:03
515134
翻译 C++——try、throw、catch实例学习程序
#include<iostream>#include<stdexcept>//exception/stdexcept/new/type_info头文件中都有定义的标准异常类using namespace std;int main(){ try{ int a,b; char s; cin>>a>>s>>b;
2015-06-24 23:12:38
530815
原创 C++——windows结构异常转化成C++异常
C++异常和Windows结构异常的比较 Windows结构异常有如下几个特性: 1、它使用__try、__except、__finally和__leave关键字和RaiseException API。 2、它由Windows所支持,因此它不适合其它操作系统。 3、它不处理C++对象的解析。 4、它用为硬件异常(例如访问非法或被零除)或操作系统异常的结果被抛出。也可以作为RaiseExce
2015-06-24 23:09:49
529769
原创 C++——STL中三种顺序容器的简要区别
C++ STL 提供了3个顺序容器 :vector, deque, listVector动态数组,支持快速访问;list双向链表,支持快速插入和删除。vector 中的元素是顺序存放的,所以随机访问很快,但是要插入和删除,这个时间复杂度就很高了,vector初始化时有一个capacity,如果元素个数超出capacity,那vector就会重新分配一个新的空间,并把旧值复制到新的空间中,释法原空间,
2015-06-24 23:02:34
529931
原创 算法——链表问题集锦
直接上代码**typedef struct MyNode{ int data; MyNode * pNext; MyNode(int d=0,MyNode * pNe=NULL):data(d),pNext(pNe){};}node;**void OutputNode(node *pRoot){ if(pRoot==NULL) return ; cou
2015-06-24 22:58:24
529987
转载 算法——递归思想解决排列组合问题
直接上代码void AString_m(char *str,char*pBegin){//扩展以后对数组也适用。也可以写成这种形式AString(char *str,int i,int n); if(!str || !pBegin) return; if(*pBegin=='\0') cout<<str<<endl; else { for(
2015-06-24 22:56:26
530522
原创 数据结构——Stack和Queue的互相实现
这里所说的队列和栈都是STL中的queue/stack。具体操作有如下:stack s;//头文件stack.h s.empty(); s.size(); s.pop(); //delete s.push(1); int a=s.top();queue s;//头文件queue.h s.empty(); s.size();
2015-06-24 22:55:14
530449
原创 算法——大整数乘法
C++语言实现大整数乘法list<char> long_sub(list<char> a,list<char>b);list<char> long_add(list<char> a,list<char>b){ list<char> c; if(*(a.begin())=='-' && *(b.begin())!='-') { a.erase(a.begin()
2015-06-24 22:53:01
531393
1
转载 C++——多态性实现机制
C++的多态性实现机制剖析1. 多态性和虚函数#include <iostream.h>class animal{public: void sleep() { cout<<"animal sleep"<<endl; } void breathe() { cout<<"animal breathe"<<endl;
2015-06-24 22:50:06
531343
原创 算法——排序算法个人总结
O(n^2) 冒泡/插入/选择 O(nlogn) 快速/归并/堆 O(n^1.3) Shell排序 稳定排序: 冒泡/插入/基数/归并。 不稳定排序:选择/快速/shell/堆。 邻近交换的排序基本上是稳定的,存在远距离交换的是不稳定排序。具体代码如
2015-06-24 22:41:05
531339
1
翻译 C/C++——程序的内存分配
**C/C++程序内存分配**一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(
2015-06-24 22:36:00
532666
2
原创 算法——字符串处理集合
主要讲解字符串处理的一般小算法集合。最长公共子序列 LCS最长递增子序列 LIS最长回文子串字符串包含问题hash思想解决字符串问题 实现子串查找函数strstr实现字符串转成整型函数atoi实现字符串拷贝函数strcpy实现字符串中单词倒置字符串的子串问题1.1最长公共子序列 LCS 问题描述:Longest Common Subsequence,一个序列 S ,如果分
2015-06-24 22:03:14
531513
原创 PHP——php脚本如何自动发送邮件
核心思想就是利用了php 的mail函数。支持脚本化自动发送邮件,并且可以带附件。Mail 简介 HTTP 函数允许您从脚本中直接发送电子邮件。要使邮件函数可用,PHP 需要已安装且正在运行的邮件系统。要使用的程序是由 php.ini 文件中的配置设置定义的。 首先封装一个Mail class类。 <?php //邮件发送class Mail{ //发送指定文件列
2015-06-24 18:24:32
532328
原创 数据库——mysql数据导入导出方法
工作时经常用到mysql数据导入导出,总结了常用方法:不妨假设原有mysql数据位于1.2.3.4机器上,通过3306 端口来访问,访问账号为UserName,密码为PassWord。1 mysql数据导出1.1select into outfile 方法:1.1.1使用前提:UserName账号拥有file的权限。注意file权限属于全局权限,要赋给用户UserName,必
2014-09-29 13:21:46
538788
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人