- 博客(20)
- 收藏
- 关注
原创 max-points-on-a-line
leetcode的一道题在平面内若干个点中,求出在同一直线上点数最多的点数。用穷举法/** * Definition for a point. * struct Point { * int x; * int y; * Point() : x(0), y(0) {} * Point(int a, int b) : x
2016-07-23 21:29:39
350
原创 unique-paths 总结
其实就是求(m+n-2)中取(m-1)的组合数错误方法1:强行算组合数:当m,n比较大时,数会超出计算机能表示的范围。class Solution {public: int uniquePaths(int m, int n) { /*if(m return 0; int a = 1;
2016-07-22 18:45:10
346
原创 STL学习笔记——序列式容器
vector 维护的是一个连续线性空间,这点和array类似,但vector更灵活,支持空间的扩展。如果当前分配的线性空间已满,又要加入新的元素,就要能扩展空间,就要选择好策略。STL的策略是重新找一块原容量2倍的存储块,然后将原来空间里的所有元素复制过来,再填入新元素。(因为连续存储,不能再原存储块后扩展)至于为什么是2倍而不是其他的策略,这值得思考:为什么不是每次需要扩充时:1.新容量
2016-04-15 20:18:47
389
原创 C++变量初始化顺序
假设有个类P:int i=1;class P{public: P(): d(c), b(i++), a(i++), c(i++) { c=i; }private: int a; int b; int c; int &d;};可以看到构造函数P对a,b,c,d都进行了初始化。
2016-04-03 15:25:21
341
原创 a++ 和 ++a 注意事项
int a=1;int b=0;地球人都知道:如果b=a++,b=1,a=2。如果b=++a,b=2,a=2。要注意的是: printf("%d",a++); 和 cout类似的函数调用 f(a++); 传递的参数也是1。如果 int d=a*b*c++; 等价于 d=a*b*c; c++; "++"的对象是c,不是d
2016-04-03 15:06:12
345
原创 剑指offer——二叉搜索树的第k个结点
题目如下:输入二叉搜索树和K,输出第K大的节点指针/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};
2016-04-02 23:16:02
515
原创 内联函数和宏定义的总结
内联(inline)函数,不同于普通函数的是:普通函数是在编译是和调用者分别编译,运行到调用处时,将原函数的信息入栈,新函数执行。而内联函数,在编译时就直接把调用函数语句替换为整个内联函数代码(变量名对应替换),运行行时这些就当做一条条语句执行,不必再调用、切换函数。可见:内联函数的优点:节省时间,减少了运行时函数调用的时间开销(参数值传递,主调函数和被调函数运行栈的切换)。
2016-03-30 23:18:03
1473
原创 平衡二叉树
平衡二叉树定义:一棵二叉树树或者是颗空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。很容易用代码实现一棵平衡二叉树的判断:class Solution {public: //判断函数 bool IsBalanced(TreeNode* pRoot) { if (pRoot == N
2016-03-29 00:06:49
252
原创 剑指offer——两个链表的第一个公共结点
这里的公共节点指的是值(val)相等的节点,并不一定是同一个节点。用一个set存储查找过的节点,直到发现重复的即公共节点。直接上代码。/*struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {}};*/class Solution {pu
2016-03-28 22:38:53
265
原创 单例模式
单例模式的要点有三个:1.某个类只能有一个实例。2.它必须自行创建这个实例。3.它必须自行向整个系统提供这个实例。如何实现,对应以下三点:1.单例模式的类只提供私有的构造函数。2.类定义中含有一个该类的静态私有对象。3.该类提供了一个静态的公有的函数,用于创建或获取它本身的静态私有对象。class CSingleton{private:static
2016-03-25 12:20:46
273
原创 剑指offer——二进制中1的个数
自己先写了一个,有点复杂。这是最简单的方法:int NumberOf1(int n) { int result=0; while(n!=0) { n=n&(n-1); result++; } return result;
2016-03-23 23:40:16
249
原创 剑指offer——字符串的排列
题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。输入要求:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。思考:感觉难度挺大的,首先是解决全排列的问题,而且可能含有重复元素
2016-03-21 21:11:39
533
原创 顺时针打印矩阵
设置四个变量left ,right,top,bottom分别存储左右上下的界限,循环打印,注意:当打印最后一行或者一列的时候,不能重复打印,所以if (top != bottom)//从右到左时 if (left != right)//从下到上时的判断很重要。下面是代码:vector printMatrix(vector > matrix) { vecto
2016-03-20 00:35:21
302
原创 二维数组中的查找
《编程之美》上的一个问题:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public: bool Find(vector > array,int target) { //....... }要解决这个问题,我相信很多人的第一想法是可以用
2016-03-19 21:56:03
243
原创 哈希表,处理冲突的方法
当遇到冲突时,通过处理冲突的方法,得到一个Hi(i=1,2,3,4.....)地址序列。若H1任然冲突,求H2,若H2冲突,求出H3......直到找到不冲突的地址为止。具体的方法:一.开放定址法:Hi=(H(x)+di)%mm:表长di:增量序列,有三种取法:1.线性探测再散列:1,2,3,4,5.....m-12.二次探测再散列:1,-1,4,-4,9,-9
2016-03-18 23:49:23
541
原创 哈希表的学习笔记
昨天晚上,被一道LeetCode上名叫Palindrome Pairs困扰了很久,导致没时间写点什么。坚持,不管学的多少,争取每天进步一点,记录一点。今天用到了c++STL的map容器,了解到map容器内部存储是用红黑树,可以使查找访问map中元素的时间从线性结构的O(n)减少到O(logn)。关于红黑树之前了解较少,今天学习了一部分知识,但还没完全领悟,下次再仔细总结。-
2016-03-17 00:21:23
444
原创 反转链表——递归实现
这个问题比较简单,但还是要想清楚逻辑,细心,不然还是容易出错直接上代码:自己写的,验证过,结果没问题,但不知道可不可以简洁点。欢迎大家评论,提出意见看法。
2016-03-15 00:47:49
328
原创 如何把char字符串循环右移N位
C语言实现:输入一个字符串,将其循环右移N位。1.利用strcpy()函数实现:即将输入pStr的后N位放入temp的前N位,再将pStr所有(到‘\o’结束)放入temp的后面。假如pStr="12345678",N(nbits)=3,则这时候,temp=“67812345678”,所以再把temp后面多余部分截掉,最后复制回pStr即完成。2
2016-03-13 19:46:39
4365
原创 大端模式与小端模式
1.是指逻辑数据与存储器数据的映射模式。2.大端模式:逻辑高位存储在存储器的低地址;逻辑低位存储在存储器的高地址。3.小端模式:逻辑低位存储在存储器的低地址;逻辑高位存储在存储器的高地址。4.举例:逻辑数据:0x1357,存储00010,00011的两个连续地址。 大端(Big-endian)模式:
2016-03-13 01:37:28
318
原创 Hello World!
大三了,21岁,三月温暖的春风还没吹进雾霾中北京,但各大互联网公司的实习生春招浪潮却已涌来。大学生涯也浑浑噩噩过了大半,感受到找实习的竞争都是如此激烈,正式秋招正式工作岂不更是难上加难。这几天对自己的简历改了又改,网上到处找合适模板,终于把它从一个“朴素”(很low)的垃圾word,改成自己比较满意的漂亮一点的勉强算得上简历的简历。接下来一步步投简历,笔试,面试,就可以实习了。虽然
2016-03-12 23:43:43
284
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人