- 博客(53)
- 资源 (8)
- 收藏
- 关注
原创 LeetCode Weekly Contest 13-Matchsticks to Square【中】
Matchsticks to SquareRememberthe story of Little Match Girl? By now, you know exactly what matchsticks thelittle match girl has, please find out a way you can make one square by usingup all those ma
2016-12-19 09:57:27
776
原创 LeetCode Weekly Contest 13-TotalHamming Distance【中】
TotalHamming DistanceThe Hamming distance between two integers is thenumber of positions at which the corresponding bits are different.Now your job is to find the totalHamming distance between a
2016-12-19 09:49:41
538
原创 LeetCode Weekly Contest 13-HammingDistance【易】
HammingDistanceThe Hamming distance between two integers is thenumber of positions at which the corresponding bits are different.Given two integers x and y, calculatethe Hamming distance.Note:
2016-12-19 09:45:21
525
原创 Container With Most Water【中】
Container With Most Water题目意思:给定一个非负的整数数组,a1,a2,a3,a4.....,an,其中每一个数都代表一个坐标为(i,ai)的点。现在每个点垂直与x轴相交,交点为(i,0),这样就构成了n条垂直线。现在从n条线里面挑出两条,然后和x轴围城了一个矩形问围成的最大的矩形的面积是多少。难度:中等此题很容易想到O(n^2)的解法,围成的所有可能的矩形数量
2016-12-01 23:35:59
504
原创 Palindrome Number【易】
Palindrome Number对称整数,给定一个整数判断它是不是一个对称整数即正读还是反读是一样的。难度:易例子:1233211234554321 思路:可以将这个整数翻转看翻转后的整数是否和翻转前相同直接上代码:class Solution {public: bool isPalindrome(int x) { int rever
2016-11-26 22:06:00
464
原创 String to Integer (atoi)【易】
String to Integer (atoi)自己实现atoi函数完成字符串转成整数难度:易题目比较容易,但是输入很恶心,各种空格、+、-符号。代码写的比较乱==‘例子:“+123” 123“-123” 123“123” 123“ +123” 123“+123 ” 123“+ 123” 0“ +123 4” 123cl
2016-11-26 21:59:21
485
原创 Reverse Integer【易】
Reverse Integer翻转一个整数难度:易例子:Example1: x = 123, return 321Example2: x = -123, return -321 没甚麽好说的,直接上代码;class Solution {public: int reverse(int x) { int i, j, k = 0;
2016-11-26 21:49:43
379
原创 Longest Palindromic Substring【中】
Longest Palindromic Substring给定一个字符串,寻找最长对称子串。难度:中等例子:"babad"aba为最长的对称子串 这道题同样可以暴力枚举,时间复杂度为O(n^3),子串的数量为n^2个,在对每个子串判断是否对称O(n)。同样这种解法同样丧失了这道题的意义。下面介绍一个在O(n^2)时间复杂度内解决。其实没必要枚举每种可能的子串,只需要
2016-11-26 21:41:06
497
原创 Longest Substring Without Repeating Characters 最长不重复子串【中】
Longest Substring Without Repeating Characters给定一个字符串,寻找最长不重复子串长度。难度:中等比如:"abcabcbb",结果是"abc" 长度为3“bbbbb” 结果为b,长度为1"pwwkew" 结果为wke,长度为3此题很容易想到O(n^3)的解法即枚举所有子串O(n^2),然后判断每个子串是否有重复的字符O(n),
2016-11-26 21:19:57
522
原创 Regular Expression Matching【难】
Regular Expression MatchingLeetcode真的是一个不错的网站,全世界的人都在上面刷题,上面的题还是挺好的。现将我在上面做过的题写成解题报告,既是一种分享也是一个记录防止日后自己在转过头来看自己的解法又看不懂了。好了废话不多说Regular Expression Matching题目大致意思是实现一个正则表达式支持’.’和’*’两种特殊符号,其匹配规则如下:
2016-11-26 17:14:16
766
原创 c++ std::atomic类型以及其memory order介绍
C++ 11 atomic简介Atomic 类型是c++11里面引入的一种类型,它规定了当程序的多个线程同时访问一个变量的时候应该遵循的规则(通过memory order)。当访问某个atomic类型的对象的时候通过指定std::memory_order可能会建立线程间同步以及对非atomic变量的内存访问顺序。std::atomic只可以用任何triviallyCopyable 的模
2016-11-13 16:09:25
12985
2
原创 利用torque搭建分布式程序运行环境
利用torque搭建分布式程序运行环境第一篇自己翻译英文资料以及自己总结的博客。一、torque简介Torque 提供批量作业和分布计算机资源的控制功能。它基于原始的PBS(Portable batch system)项目开发的一款优秀的开源产品并且得到社区和专业的开发机构的支持。它在可扩展性、可靠性和功能上具有非常重要的意义,目前全世界数以万计的政府机构、学术机构、和广告网站都在
2016-09-11 16:58:54
1377
原创 SSH自动认证远程登录
SSH自动认证登录1、简要介绍SSH(SecureShell)为建立在应用层的安全协议,专门为远程登录绘画和其他网络服务提供安全性的协议2、功能传统的网络服务程序,如ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传输口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全认证方式也是有其弱点的,很容易受“中间人”(manin-
2016-09-11 11:27:32
1033
转载 设计模式总结
设计模式之间的关系: 设计模式总概况:一、设计原则1、单一职责原则 一个类,只有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性。例如:要实现逻辑和界面的分离。from:百
2016-06-19 23:39:35
458
原创 成长及计划
成长及计划工作快一年了,在忙碌的工作中学会了怎麽高效率的学习以及好的学习方法、慢慢改掉了自己拖拉的习惯、了解到了沟通的重要性,了解到了哪些是自己能做的,更加清楚了自己的定位,明白了哪些人或事是自己该坚持的。虽然依然幼稚,但一直在努力。接下来好好干好工作,好好研究网络、内存管理、进程调度、存储管理。
2016-06-19 23:27:29
456
原创 TCP的SO_LINGER 选项
TCP的SO_LINGER 选项一、TCP7次握手TCP建立连接需要经过3次握手,断开连接需要经过4次握手。详细的过程,以及每一步状态见下图二、2MSLTIME_WAIT状态也称为2MSL等待状态。每个具体TCP实现必须选择一个报文段最大生存时间MSL。它是任何报文段被丢弃前在网络内的最长时间(一般是1分钟或两分钟)。TCP报文段是以IP数据报在
2016-06-19 22:53:13
1396
原创 vim定制成IDE
vim打造成IDE在Windows下编写代码有各种IDE软件,比如MSVS/eclipse等,但在linux下面就没有对应的IDE工具给开发者了。导致在github上fock的项目代码看起来很不方便,使那些想玩linux编程但是又因为编写代码不方便的同学望而却步。其实linux下原生的vim编辑器堪称神器功能很强大,而且最重要的是可以根据自己的习惯自己定制、全程操作不需要使用鼠标。本文介绍如何
2016-06-11 20:42:27
955
转载 80x86汇编指令系统
80x86指令系统 80x86指令系统,指令按功能可分为以下七个部分。 (1) 数据传送指令。 (2) 算术运算指令。 (3) 逻辑运算指令。 (4) 串操作指令。 (5) 控制转移指令。 (6) 处理器控制指令。 (7) 保护方式指令。 3.3.1数据传送指令 数据传送指令包括:通用数据传送指令、地址传送指令、标志寄存器传送
2016-04-02 18:14:45
1181
原创 windgb分析dump文件
现实的开发中可能会出现,动态库dll或者exe崩溃的情况,并且也生成了dump文件,但是由于符号文件pdb文件没有保留,所以通过windbg的!analyze -v是调试不出具体的dump信息的。如上图所示,通过这个栈信息时看不出问题出在哪里的必须加载好可执行程序或者dll的符号文件才行。如果当时的代码还保留着,那就不用担心了。直接重新编译一下原先的代码,并将用Ctrl+S编辑wind
2016-01-26 22:17:29
2652
原创 ubuntu14.04安装g++
Ubuntu 14.04通过sudo apt-get install g++出现“g++: Depends: g++-4.8 (>= 4.8.2-5~) but it is not going to beinstalled”错误。是因为ubuntu14.04的源过旧或不可访问导致,可以通过更新源解决。首先,备份原始源文件source.listsudo cp /etc/apt/s
2015-12-28 23:19:52
2070
原创 github上c++开源项目
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:alex zhang链接:http://www.zhihu.com/question/28341521/answer/40684395来源:知乎1. FreeNOSlordsergioinspa/FreeNOS · GitHub这是我在大学的时候,接触完整学习的第一个开源的C++项目,当时
2015-11-29 16:56:59
2852
转载 __stdcall,__cdcel,extern c 和导出函数名
无论c或c++都会对导出函数改名或不改名,无论你是静态还是动态调用一个导出函数,都可能碰上改名后导致的调用失败(甚至可能是调用约定不同而导致清理堆栈出错,造成崩溃),下面分析一下改名和调用约定之间的关系。 一.先说extern c。 其含义是指,按c的方式编译代码。在vs7及以后的vs中,有编译选项可以直接选择“编译为:c代码”(在工程属性----》c/c+
2015-11-12 20:56:40
1809
原创 MFC中非模态对话框不响应PreTranslateMessage函数的解决方法
程序员真心不容易啊,为了一个好的用户体验真可谓是操碎了心。今天由于项目需要,需要在非模态对话框上,当鼠标处于某个位置的时候有提示框显示。实现这个功能本来很简单,但是却遇到了一个郁闷的问题:PreTranslateMessage函数没响应。于是各种度娘,可惜度娘非谷歌,找了一个小时终于在一个隐蔽的地方找到了解决方法。 首先我介绍下当鼠标处于特定位置的时候有提示信息显示的实现方法。
2015-10-26 22:37:17
8941
2
原创 ActiveX控件开发小结
ActiveX控件开发小结一、ActiveX控件简介ActiveX控件是Microsoft的ActiveX技术的一部分。ActiveX控件是可以在应用程序和网络中计算机上重复使用的程序对象。创建它的主要技术是Microsoft的ActiveX技术,其中主要是组件对象模型(COM)。ActiveX控件可以以小程序下载装入网页,也可以用在一般的Windows和Macintosh应用程序环境中。
2015-10-25 19:01:26
1316
原创 vc++ DLL开发小结
DLL开发总结一概论 DLL(Dynamic Linkable Library),你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量,函数。 静态库和动态库都是共享代码的方式,它们的区别请参见我的上一篇博文。DLL的编制与具体的变成语言及编译器无关只要遵循约定的DLL接口规范和调用方式,用各种语言编写的DLL都可以相互调
2015-08-30 16:29:14
2042
1
原创 c++串口小结
串口小结一、 概念串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。一条信息的各位数据
2015-08-29 14:44:52
5366
转载 c++静态库与动态库的区别
一,概念 1)静态链接库就是你使用的.lib文件,库中得代码最后需要连接到你的可执行文件中去,所以静态连接的可执行文件一般比较大一些。 使用方法 1> 格式如:#pragma comment(lib,"XXX.lib") 2> 针对开发环境:
2015-08-29 12:46:57
1419
原创 sscanf,snprintf,sprintf小结
一、sprintfsprint函数原型为 int sprintf(char *str, const char *format, ...)。作用是格式化字符串,具体功能如下所示:(1)将数字变量转换为字符串。(2)得到整型变量的16进制和8进制字符串。(3)连接多个字符串。举例如下char str[256] = { 0 };int data = 1024;//将dat
2015-08-15 16:51:27
1034
原创 Navicat Premium怎样打开SQL文件.MDF和.LDF文件
相信大家再装SQL Server时都会遇到一件非常头疼的事情——装完SQL server之后发现没有启动程序。没有经验的会以为SQL SERVER安装失败了于是选择重装,但是呵呵,重装了4,5次还是一样的,于是又想到重装系统等等。其实我们再装SQL SERVER过程中如果没有报错误,那么最后都会安装成功的。但是有没有SQL SERVER启动程序也就是图形界面就看个人人品了,其实人品差的也不需要
2015-08-06 17:23:00
20412
3
原创 工作小结
工作了差不多两周了,前一周多时间差不多都在搞培训打了几天酱油。回想一下,已经有大概半年没写过程序了。今天又重操就业,一开始有点生疏包括一些常用的函数的返回值和参数都忘记了,还好有度娘做技术支持虽然磕磕绊绊但最终还是算是勉强完成任务。舒服的躺在椅子上突然想到其实现在就应该多拼一拼,等到以后老了想拼估计也拼不了了,需要珍惜现在的每一天。所以世界并没有那么多不公平,只是自己不愿去争取而已。
2015-07-25 19:24:31
916
原创 MFC骨干程序
MFC骨干分析 所谓MFC骨干程序,指的是有AppWizard产生出来的MFC程序。MFC程序设计的第一要务是要熟记各类的层次结构,如下所示:一 Document/View模型 在MFC中,你可以吧Document简单想做事“数据”,CDocument简单的说就是负责处理数据的类。 CDocument的另一价值在于它所搭配的一个重要的类C
2015-07-25 19:11:33
791
原创 字节对齐
字节对齐字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数,在UTF-8编码中,一个英文字符等于一个字节。字节按照一定规则在空间上排列就是字节对齐。一 作用和原因由于各个硬件平台对存储空间的处理有很大的不同。一些平台对某些特定数据类型的数据只能从某些特定的地址开始存取。比如有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么
2015-07-22 09:58:23
885
原创 MFC的运行过程分析
MFC程序的运行细节剖析 MFC程序也是Windows程序,所以它应该也有一个WinMain,但是在程序中看不到它的踪影。其实在程序进入点之前,还有一个(而且仅有一个)全局对象(theApp),这就是所谓的Application object,当操作系统将程序加载并激活时,这个全局对象获得配置,其构造函数会先执行,比WinMain更早。一 CWinApp取代WinMain
2015-07-22 09:43:16
1500
原创 c++对象模型function布局
Function语意学C++支持三种类型的memberfunctions:static、nonstatic和virtual,每一种类型被调用的方式都不相同。Static函数有两个特点:它不能直接存取nonstatic数据;它不能被声明为const。一Member的各种调用方式1.NonstaticMember FunctionsC++的设计准则之一就是:nonstaticmem
2015-07-16 23:56:48
1058
原创 c++对象模型之Data布局
Data语意学class X{};class Y : publicvirtual X {};class Z : publicvirtual X {};class A : publicY, public Z {}; sizeof(X) = 1,sizeof(Y) = 4, sizeof(Z) = 4, sizeof(A) = 8;visualc++6.0上测试结果(对empt
2015-07-16 23:51:15
942
原创 c++构造函数详解
一、Default constructor1. 对于class X ,如果没有任何user-declared constructor,那么编译器生成的default constructor是无用的2. 编译器合成(扩张)的default constructor 是有用的4中情况 ①.带有default constructor的member
2015-07-16 23:43:01
1052
原创 _beginthreadex()与CreateThread()函数的区别
CreateThread()函数是Windows提供的API接口,在C/C++语言另有一个创建线程的函数_beginthreadex(),在很多书上(包括《Windows核心编程》)提到过尽量使用_beginthreadex()来代替使用CreateThread(),这是为什么了?下面就来探索与发现它们的区别吧。 首先要从标准C运行库与多线程的矛盾说起,标准C运行库在
2015-07-16 23:41:17
871
转载 linux gdb调试程序
(注:本文实例在SecureCRT中得到验证,以下为全文转载:)本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。命令
2014-08-01 11:17:35
665
转载 设计模式总结
设计模式之间的关系: 设计模式总概况:一、设计原则1、单一职责原则 一个类,只有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性。例如:要实现逻辑和界面的分离。fr
2014-04-18 23:44:48
886
转载 vc++ 调试技巧整理
VC调试技巧收集整理 调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。 这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用。本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单open。
2014-03-17 12:37:56
1509
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人