09 2017 档案
convert-sorted-array-to-binary-search-tree
摘要:题目描述 Given an array where elements are sorted in ascending order, convert it to a height balanced BST. Given an array where elements are sorted in asc
阅读全文
convert-sorted-list-to-binary-search-tree
摘要:题目描述 Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST. 思路: https://siddontang.gitbooks.io/
阅读全文
balcanced-binary-tree
摘要:题目描述 Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary tree is defined as a binary tree in which the
阅读全文
path-sum
摘要:题目描述 Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given s
阅读全文
矩阵中的路径
摘要:分析:回溯算法 这是一个可以用回朔法解决的典型题。首先,在矩阵中任选一个格子作为路径的起点。如果路径上的第i个字符不是ch,那么这个格子不可能处在路径上的第i个位置。如果路径上的第i个字符正好是ch,那么往相邻的格子寻找路径上的第i+1个字符。除在矩阵边界上的格子之外,其他格子都有4个相邻的格子。重
阅读全文
滑动窗口的最大值
摘要:题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4]
阅读全文
数据流中的中位数
摘要:题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 思路: /* C++ 最大堆 最小堆 实现 用大顶堆实现左边的的数据容器,小顶堆实现右边的数据容器。往
阅读全文
二叉搜索树的第k个结点
摘要:题目描述 给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 思路一: class Solution { int count = 0; public: TreeNode* KthNode(TreeNode*
阅读全文
序列化二叉树
摘要:题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 思路是别人的。反正用C++代码写出来的没看明白。倒是Java版本的比较简单!!! /* 1. 对于序列化:使用前序遍历,递归的将二叉树的值转化为字符,并且在每次二叉树的结点 不为空时,在转化val所得的字符之后添加一个' , '作为分割。对于
阅读全文
把二叉树打印成多行
摘要:题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 思路1:利用二叉树层序遍历的思想。 具体实现: 先设置一个二维数组vec,用来存放每一层的结点值,即val。 若该二叉树是个空树,就返回一个vec。 若不是空树,再设置一个队列用来存放结点。一开始将根结点入队。 当队列非空的
阅读全文
35 拷贝赋值函数、虚函数
摘要:分析一: 1.调用obj1的构造函数MyClass(int i =0)输出1;2.调用obj2的构造函数MyClass(int i = 0)输出2;3.调用obj3的复制构造函数MyClass(const MyClass&x)输出2;4.main函数返回时分别调用obj3、obj2、obj1的析构函
阅读全文
34 char类型转换为int类型
摘要:分析:char类型的范围是-128 +127,当a+=27,之后a的值超出可表示范围会变为-128. a为char型,-128~127,a=101,a+=27后溢出a=-128: a=127时不溢出 01111111(127补码) a+=1时溢出 10000000(-128补码) sum += a;
阅读全文
33 单/双精度有效数字、程序运行过程
摘要:1 C++中32位单精度浮点数能表示的十进制有效数字是7位。 分析:一个浮点数由三部分组成:符号位S、指数部分E(阶码)以及尾数部分M。 单精度浮点数(float)总共用32位来表示浮点数,其中尾数用23位存储,加上小数点前有一位隐藏的1(IEEE754规约数表示法),2^(23+1) = 1677
阅读全文
32 C++常见错误集锦
摘要:1 下列程序中,K的值为:6 分析:enum中,首元素不赋值的话,默认为0;后一个元素不赋值的话比前一个元素大1. 2 程序运行正常。 分析:(http:)相当于一个label,类似于访问限定符private,public;程序可以正常运行。 双斜杠之后的www.csdn.NET被当做注释了,那么前
阅读全文
31 位域、空类的sizeof值
摘要:1 分析下列程序: 求sizeof(s)的结果为 16. 分析:看清楚结构体中是位操作,三个变量共占用一个int 类型的大小,int 类型占用4个字节,double占用8个字节,为实现内存对齐,int类型需要填充4个字节的长度。 x,y,z分别占用3,4,5位,int是4个字节32位,相当于xyz占
阅读全文
30 重载、隐藏、重写的区别
摘要:1.重载:重载从overload翻译过来,是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。 class A{ public: void test(int i); void test(double i);//o
阅读全文
29 关于字节对齐运算
摘要:1. 分析字节对齐: 分析一:int 4,enum 4,union 14(因为 pack(2)),总22. 分析二:int i:4字节;union:13字节(共用内存),2字节对齐,13+1=14字节。enum:3字节。2字节对齐,3+1=4 分析三: int i,得到4个字节。union对齐方法:
阅读全文
浙公网安备 33010602011771号