157 Read N Characters Given Read4
The API:int read4(char *buf)
reads 4 characters at a time from a file.
The return value is the actual number of characters read. For example, it returns 3 if there is only 3 characters left in the file.
By using theread4
API, implement the functionint read(char *buf, int n)
that readsncharacters from the file.
Note:
Theread
function will only be called once for each test case.
The Idea: Buffer in 4 characters at a time until we either run out of characters to read, or the amount we read exceeds n. Modify the nth buffer to be the empty character for any offset issues.
Complexity: O(n/4) time and O(1) space
Last updated