1.有一组表示墙的数组a[],其中a[i]表示第i个墙的高度,如下图,假如下雨了,求墙里可以装多少水如果我们从左至右遍历列表,每个下标水的量最多是到现在为止最大的数。这表示如果我们已知右边有相等或更大的,我们可以知道存下的水有多少。反向遍历的时候也一样:如果我们知道左边有比右边最大的数更大的,我.....
分类:
编程语言 时间:
2015-09-22 20:26:00
阅读次数:
113
Longest Consecutive Sequence
首先补充一些map的用法begin,end,rbegin,rend,empty,clear,size,max_size 八个常用的函数.map.begin(); 是map的起始位置map.end(); 是指map的尾部,没有实际元素.map.find(); 查找函数map.rebgin()和.rend()是反向遍历数据的起始位置和终止位置...
分类:
其他好文 时间:
2015-07-13 12:06:26
阅读次数:
100
链表
1.基本特征:由一系列内存中不连续的节点组成,每个节点除了保存数据以外,还需要保存其前后节点的地址——双向链表。
2.基本操作
1)追加
2)插入
3)删除
4)遍历
5)伪随机访问
示例:使用C++实现双向链表类,并演示结果;#include
using namespace std;
class List {
public:
// 构造函数中初始...
分类:
编程语言 时间:
2015-06-18 19:48:20
阅读次数:
162
http://acm.hdu.edu.cn/showproblem.php?pid=5014
题意略。
分析: 通过发现规律贪心处理即可,从n开始反向遍历到0,假设与数i匹配的是 Xi;
那么i^Xi的二进制位一定全1,并且二进制位数等于i的二进制位数#include
#include
#include
#include <strin...
分类:
其他好文 时间:
2015-02-11 20:43:11
阅读次数:
160
二叉搜索树是ACM中经常需要用到的数据结构,熟练掌握map和set的用法很关键,现对其做一个简单的总结。主要的功能有:插入元素,查找元素,删除,遍历/反向遍历。现以map为例说明用法,multimap是可以插入重复键值的元素的map。#include#include#include#include#...
分类:
其他好文 时间:
2015-01-23 22:50:04
阅读次数:
180
1 循环内不要访问数据库。2 一个主要的函数调用很多分支函数。在主函数内尽量把数据库查询做完,分支函数若需要数据库的数据,则通过传递参数获得。3 函数接口清晰,多个参数尽量不要有交集。4 几个主要的函数中如果有类似功能,尽量使这些函数的功能的实现逻辑一致,不要用不同方法,(比如正向遍历和反向遍历)。...
分类:
其他好文 时间:
2014-10-22 21:35:03
阅读次数:
137
双向链表(插入,删除,追加,正反向遍历,查找。。。)
#include
#include
using namespace std;
class List
{
public:
List(void) : m_head(NULL), m_tail(NULL), m_size(0){}
~List(void)
{
for(Node* node = m_head; m_head; m_head = node)
{
node = m_he...
分类:
其他好文 时间:
2014-09-14 19:21:27
阅读次数:
230