题目:输入一棵二叉树的根节点,求该树的深度题解分析:二叉树具有天然的递归性,首先应该想递归解法/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNod...
分类:
其他好文 时间:
2014-06-27 15:58:59
阅读次数:
206
问题1、粘包问题解决方法一:TCP提供了强制数据立即传送的操作指令push,TCP软件收到该操作指令后,就立即将本段数据发送出去,而不必等待发送缓冲区满;解决方法二:发送固定长度的消息解决方法三:把消息的尺寸与消息一块发送解决方法四:双方约定每次传送的大小解决方法五:双方约定使用特殊标记来区分消息间...
分类:
其他好文 时间:
2014-06-27 15:33:53
阅读次数:
218
题目:一个整型数组里除了两个数字之外,其余的数字都出现了两次,求这两个只出现一次的数字题解分析:首先看到数字出现1次,出现2次,应该联想到 异或运算:0^a = aa^a = 0如果数组中只有一个数字出现奇数次,其余都出现偶数次,我们就可以将这些数字全部异或,最后的结果即为所求(因为所有偶数次数字异...
分类:
其他好文 时间:
2014-06-27 14:20:36
阅读次数:
153
题目大意:给出n个数qi,定义 Fj为 令 Ei=Fi/qi,求Ei。看了很久题解,终于有些眉目,因为知道要用FFT,所以思路就很直了其实我们就是要±1/(j-i)^2 ( i-j大于0时为正,小于0时为负 ) 和 qi 的乘积要算到j这个位置上,这个满足卷积,所以用FFT优化,但是j-i有负...
分类:
其他好文 时间:
2014-06-27 12:09:57
阅读次数:
184
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符顺序不变题解分析:两次翻转:第一次翻转整个句子第二次解析出每个单词并将单词翻转void reverse(char* first, char* last){ assert(first != NULL && last != NULL); ...
分类:
其他好文 时间:
2014-06-27 12:04:29
阅读次数:
174
题目:输入一个递增排序的数组和一个数字target,在数组中查找两个数使得它们的和正好是target题解分析:一提到有序数组,应该立马联想到 二分查找因为数组已经有序了,我们可以设置两个游标first和last,下标first指向 0, last指向 size() - 1, 然后相加如果相加和 大于...
分类:
其他好文 时间:
2014-06-27 11:53:40
阅读次数:
210
【描述】考虑排好序的N(N 2 #include 3 #include 4 #include 5 #include 6 const int maxn=32+5; 7 using namespace std; 8 long long c[maxn][maxn],n,o=0; 9 long lo...
分类:
其他好文 时间:
2014-06-27 11:27:58
阅读次数:
145
题目:从扑克牌中随机抽取5张牌,判断是不是一个顺子,即这5张牌是不是连续的2-10为数字本身,A为1,J为11,Q为12,K为13,大小王可以替换任意数字题解分析:step1. 首先大小王看作0,与其他数字都区分开step2. 对这5张牌排序step3. 统计5张牌中0的个数和 相邻数字之间的空缺总...
分类:
其他好文 时间:
2014-06-27 11:12:59
阅读次数:
172
本题就是以每个节点和节点之间建路,而且说明是无向图,不过这里有个技巧,就是根据题意把它当成有向图来做,就成了直接查找有向图的欧拉回路就可以了。因为题意是需要每条边都走两遍的,而且每次走的方向相反。
观察出这点,那么这道题就好做啦,直接建图,Feury递归求解就可以了。
建图注意需要建邻接表,不要建矩阵,因为建成矩阵,那么会很大很大,而根据题意,建成邻接表最多只需要5倍的顶点数。
打印的顺序是...
分类:
其他好文 时间:
2014-06-27 08:58:59
阅读次数:
187
最简单的背包问题了,本题应该除了背包就一个考点了:不能开二维数组。我没开过二维,不过看数据是不可以的。太大了。
做法有两种改进省内存DP:
1 所谓的滚动数组
2 逆向填表
很久没做背包DP,突然觉得这种背包问题很简单了。
下面给出两种解法:
1 calBag()是滚动数组
2 calBag2()是逆向填表
#pragma once
#include
#inclu...
分类:
其他好文 时间:
2014-06-27 08:09:43
阅读次数:
165