- 博客(30)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Leetcode记录7-单链表
1.Add Two NumbersYou are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the tw
2015-01-20 10:18:46
412
原创 KMP算法初步理解
看了两天KMP算法,不知道理解的对不,初步理解总结如下:(主要是各种next数组把自己整晕了,有彻底懂的大神们再给指导下)首先是思路,“字符串匹配的KMP算法_知识库_博客园”http://kb.cnblogs.com/page/176818/,问题的关键落在求数组上,而求数组实际是对自身求匹配度,所以求next数组的子函数和主函数很类似,所以网上讨论的好像主要是两种next数组,最好把相
2015-01-20 10:17:11
625
原创 Leetcode刷题6--数组继续
1.Single NumberGiven an array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you imp
2015-01-05 08:50:36
492
原创 C++构造函数相关
借鉴了网上几个大牛的文章,忘了留链接,表示抱歉,这里总结如下:总:原则上是先调用基类构造函数,再成员对象的构造函数,再自身构造函数析构函数调用顺序总是与构造函数顺序相反。特殊是虚继承(优先级高,并可能只执行一次构造)和静态变量静态成员属于类作用域,但不属于类对象,和普通的static变量一样,程序一运行就分配内存并初始化,生命周期和程序一致。
2015-01-05 08:48:32
471
原创 C/C++运算符指导原则
本来觉得自己不会被运算符优先级问题困扰(实际自己写程序时也确实如此),但无奈有些地就考你这个,看了几篇大牛的博客,精简的总结如下三条指导原则:1.优先级表(起码有个大概)2.大多数运算符结合方向是“自左至右”, 即: 先左后右, 例如a- b+c, b 两侧有- 和+两种运算符的优先级相同, 按先左后右结合方向, b 先与减号结合, 执行a- b 的运算, 再执行加c 的运算。
2014-12-13 10:12:05
617
原创 以为模版类对象传递引用有区别
么有区别,看例子,话说为啥我会觉得别扭#includeusing namespace std;#includeint shishi(stack& a){ cout return 0;}template int anothershi(stack& a){ cout return 0;}int main(){
2014-12-12 11:14:41
416
转载 C++基本名称规则
@1.4.2.1 基本名称限制:@1.4.2.1.1按 ISO/IEC 14882:2003 C++ 标准条款 17.4.3.1.1 Marco Names [lib.extern.names] 规定,可能使用标准库头文件的用户程序翻译单元不得使用词法上等价于关键字的名称作为宏名。@1.4.2.1.2按 ISO/IEC 14882:2003 C++ 标准条款 17.4.3.
2014-12-12 11:12:24
522
原创 leetcode刷题记录5--依旧数组
1.Gray Code Total Accepted: 21683 Total Submissions: 67384My SubmissionsThe gray code is a binary numeral system where two successive values differ in only one bit.Given a non-negati
2014-12-12 11:10:26
468
原创 leetcode刷题记录4--依然数组
1.Valid Sudoku Total Accepted: 19171 Total Submissions: 69993My SubmissionsDetermine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.The Sudoku board could be partially filled
2014-12-12 11:09:18
506
原创 继续做leetcode上数组题3
1.Remove ElementGiven an array and a value, remove all instances of that value in place and return the new length.The order of elements can be changed. It doesn't matter what you leave beyon
2014-12-02 15:56:46
513
原创 做几个leetcode数组题二
1.Longest Consecutive SequenceGiven an unsorted array of integers, find the length of the longest consecutive elements sequence.For example,Given [100, 4, 200, 1, 3, 2],The longest consecu
2014-11-19 19:25:27
682
原创 做几个leetcode数组题
1.Remove Duplicates from Sorted Array Total Accepted: 29864 Total Submissions: 91835My SubmissionsGiven a sorted array, remove the duplicates in place such that each element appear onlyonc
2014-11-18 13:00:57
549
原创 带自加加这一类常会出现的错误
只能说,有些错误实在太隐蔽了,刚觉得自己会考虑如何更简洁优化的写出程序了,但是反而会因为自己的进一步而犯进一步的错误(但这是另人高兴的错误是不哈哈,不能因为怕犯错误而不向前),例子来自经典教材看似两个一样的程序,自加类常回出现这种错觉 void twiddle1(int* xp, int * yp){*xp += *yp;*xp += *yp;}
2014-11-05 21:47:32
686
原创 由C/C++函数的参数列表中的数组长度所想
Why do C and C++ compilers allow array lengths in function signatures when they're never enforced?
2014-11-04 12:33:21
679
原创 文本输入形式计算器------bug不断修复中。。
一个以txt形式输入的计算器,处理多行文本中多行表达式,具有一定的容错能力,,再一个有高手指点下就好了,自己学编程好累=_=
2014-10-31 14:35:10
952
原创 C++不确定行为
一个简单的程序引发了一块让人纠结的领域,或许强调编程规范的重要性也在这把,规范了就容易避免一些问题。程序是这样的int Change(int& a){ a = 4; return a;}int main(){ int a = 10; cout Change(a) a;}In C-Free : the output : 4 4In V
2014-10-11 12:37:00
777
原创 算法导论第十章数据结构--双向链表
看的概念挺朦胧的,没有明确好双链表到底需要哪些方法,其实针对这种结构应该可以写很多方法,并没有什么特定标准。不过真是只看不练不行啊,一下手各种错误,各种溢出#includeusing namespace std;template struct Node{T value;Node* pre;Node* next;};template class
2014-10-10 13:07:28
919
原创 算法导论第七章伪码转C++__快速排序
#includeusing namespace std;void ShowArray(int A[],int n){cout for (int i = 0; i cout cout }int Partition(int A[],int p,int r){int x = A[r - 1]; // r to r-1 ,这里r-1里,所以
2014-10-08 20:21:25
594
原创 算法导论第八章伪码转C++ __桶排序
#include#includeusing namespace std;void ShowArray(double A[],int n){cout for (int i = 0; i cout cout }void BucketSort(double A[],int n) {//P112 , 默认输入范围[0,1) ,对于大数
2014-10-08 20:19:07
466
原创 算法导论第八章伪码转C++_计数排序
#include#include"lei.h"#include // random usedusing namespace std;void ShowArray(int A[],int n){cout for (int i = 0; i cout cout }void CountingSort(int A[],int B[],int k,
2014-10-08 20:17:10
541
原创 算法导论第八章伪码转C++_基数排序
#include#include //pow usedusing namespace std;void ShowArray(int A[],int n){ cout for (int i = 0; i cout cout }void CountingSort(int CpA[],int k,int n,int di) //k表示取值范围
2014-10-08 20:14:36
480
原创 算法导论第六章伪码转C++ ___堆排序
heap.h:#includeusing namespace std;class Fheap{public: };int Parent(int i){return (i-1)/2;} //从0索引,i/2变成(i-1)/2 int LeftChild(int i){return 2*i + 1;} //从0索引, 2*i 变成2*i + 1 in
2014-10-08 20:10:41
454
原创 算法导论第五章实例伪码转C++_最大子数组
1. 犯了一个错误,引发出对递归中变量定义的思考 P71递归中要看变量的使用范围,以及如果作为全局,下面语句是否会修改其值#include#includeusing namespace std;//find_maximum used//int mid; 这里犯了一个错误,看下面 ,递归中用变量,要考虑其是局部全局int mleft_sum,mleft_l
2014-09-15 18:43:49
504
原创 C++ Primer Plus 五六章习题练习
第五章1.#include usingnamespacestd; intmain(){ inta,b,c; intsum=0; cout"Pleaseinputtwonumbers:""a=_\b"; cin>>a; cout"b=_\b"; cin>>b; if(a>b)swap(a,b);
2014-08-29 11:09:33
707
转载 C++ Primer Plus 第三四章习题解答
1.#include usingnamespacestd;constintinch_feet=12; intmain(){ cout"Pleaseinputyourheightininches:___\b\b\b"; intffeet; cin>>ffeet; intfinch; finch=ffeet/inch_
2014-08-29 11:05:32
476
原创 模板函数原型声明和定义实现必须放在一起
问题起因是我在一个.h文件中定义模版类,忘了在.cpp中定义函数时如何写(就是忘了 CLASS::show中的),然后顺便在.h中声明了个模板函数(函数原型),又在cpp中定义,结果在主函数中用时,出现错误(未定义)。于是搜索,原来总结一句话如下模版函数在.h中必须定义声明一块,都在其中。不能像普通函数一样,一个.h一个cpp,同样模板类的函数也不行,只是它可以在类中先声明,然后在类外
2014-08-14 10:27:59
1573
原创 C++简单的文件输入输出
一、简单文件的输入输出: 文件输出: 1) 必须包含头文件fstream 2)头文件fstream定义了一个用于处理输出的ofstream类(out file) 3) 需要声明一个或者多个ofstream变量(对象),并以自己喜欢的方式对其进行命名,条件是遵守常用的命名的规则
2014-07-21 17:15:30
479
原创 嗨翻C语言笔记(部分引用)
1. 编译:gcc cards.c -o cards另外-o表示优化级别-o2 -o3 -ofast级别依次升高,相对应的编译速度也依次变慢运行: ./cards(类linux中) cards(windows)合并执行 gcc cards.c -o cards && ./cards2. *a取内容 &a取地址
2014-07-21 17:11:31
717
原创 菜鸟对互换两个数经典swap函数的理解
swap(int a,int b)与swap(int * a, int *b)过程:主函数中定义int m=5;int n= 4;//这里姑且当在超市里找两个盒子1,2,每个盒子有自己的位置(即地址),为了识别和给两个盒子起名1,2(即m,n),然后m=5,n=4相当于把5和4放在名字叫1,2的盒子里,(盒子的位置地址和名字是在这定义的),为什么定义名字,因为直接用
2014-07-19 16:14:21
1148
1
常见设计模式及其实现(C++,带标签目录)
2015-05-06
关于leetcode上的Implement Strstr()的一个疑问
2015-01-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人