关于centOS的分区说明

/ :根分区,是必须要有的
/opt :用于安装软件
/swap :属于将换分区,相当于windows系统的虚拟内存,电脑物理内存不够用时,会调用swap分区
/boot :用于引导系统的grub在这个分区中
/home :给普通用户使用
/var :是variable变量,有些软件工具在使用时的一些变量参数放在这
/usr :用户数据存放点

包含min函数的栈

题目描述

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

题解:
使用一个小根堆和一个元素出现次数数组来维护这个栈;
每次push一个元素,该元素出现次数+1,并把该元素压进小根堆
每次pop一个元素,该元素出现次数-1,如果小根堆的栈顶元素出现次数为0,则一直pop,直到栈顶元素出现次数不为0

AC代码:

[shell]
/*
题目描述

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

题解:
使用一个小根堆和一个元素出现次数数组来维护这个栈;
每次push一个元素,该元素出现次数+1,并把该元素压进小根堆
每次pop一个元素,该元素出现次数-1,如果小根堆的栈顶元素出现次数为0,则一直pop,直到栈顶元素出现次数不为0
*/
class Solution {
public:

stack<int> s;
map<int, int> m;
static struct cmp
{
bool operator()(const int&a, const int &b)
{
return a>b;
}
};
priority_queue<int, vector<int>, cmp> pq;

void push(int value) {
s.push(value);
pq.push(value);
m[value]++;
}
void pop() {
m[s.top()]–;
s.pop();
while (m[pq.top()] == 0)
pq.pop();
}
int top() {
return s.top();
}
int min() {
return pq.top();
}
};
[/shell]

关于linux系统安装出现Buffer I/O error和end_requestc错误

在安装centOS的时候,出现了大量的错误,如下:

[shell]
Buffer I/O error on device sr0, logical block 512
end_request: critical target error, dev sr0, sector 4096
[/shell]

QQ图片20151201194258

导致无法继续安装。后来在网上找到ubuntu论坛的相关说法:http://ubuntuforums.org/showthread.php?t=999549

其中提到是否是安装盘出现错误,于是我想起了我通过两个usb扩展坞来接USB,用USB来安装,可能导致安装失败。于是我把USB直接插到电脑上,可以正常安装。