来说说P&G 25返10 rebate form吧?# PennySaver - 省钱一族
w*g
1 楼
按行倒序输出文件。例如一个文件如下:
abc
123
def
那么输出:
def
123
abc
我说先给个naive的方法一会再改进,建个vector,把每一行写到这个vector
里,然后倒序输出这个vector。他问有什么缺点,我说处理不了大文件,他就叫我改进
。他给了我三个函数:
void seek(int location):文件指针指向第location个字符,如果seek(-1)那么文件
指针指向end of file。
int tell():返回文件指针当前指向哪个字符
string read(bytes):每次读bytes个字符,返回这些字符组成的string,然后文件指
针向后移动一个字符。比如本来文件指针指向第10个字符,那么read(1)就返回第10个
字符组成的字符串,并且文件指针指向第11个字符。
他让我用这三个函数写倒序输出。写着写着我就逻辑混乱了。其实这题很简单,没有算
法很严,就是考察思路是不是严谨。但是我确实写写就乱了。。。我感觉其实面试时考
察这么繁琐的题目是最难的。
abc
123
def
那么输出:
def
123
abc
我说先给个naive的方法一会再改进,建个vector
里,然后倒序输出这个vector。他问有什么缺点,我说处理不了大文件,他就叫我改进
。他给了我三个函数:
void seek(int location):文件指针指向第location个字符,如果seek(-1)那么文件
指针指向end of file。
int tell():返回文件指针当前指向哪个字符
string read(bytes):每次读bytes个字符,返回这些字符组成的string,然后文件指
针向后移动一个字符。比如本来文件指针指向第10个字符,那么read(1)就返回第10个
字符组成的字符串,并且文件指针指向第11个字符。
他让我用这三个函数写倒序输出。写着写着我就逻辑混乱了。其实这题很简单,没有算
法很严,就是考察思路是不是严谨。但是我确实写写就乱了。。。我感觉其实面试时考
察这么繁琐的题目是最难的。