码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode 157: Read N Characters Given Read4

时间:2017-12-18 12:26:24      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:using   log   nbsp   fun   i++   leetcode   buffer   file   note   

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 the read4 API, implement the function int read(char *buf, int n) that reads n characters from the file.

Note:
The read function will only be called once for each test case.

 

 1 /* The Read4 API is defined in the parent class Reader4.
 2       int Read4(char[] buf); */
 3 
 4 public class Solution : Reader4 {
 5     /**
 6      * @param buf Destination buffer
 7      * @param n   Maximum number of characters to read
 8      * @return    The number of characters read
 9      */
10     public int Read(char[] buf, int n) {
11         int i = 0;
12         bool eof = false;
13         
14         while (i < n && !eof)
15         {
16             var temp = new char[4];
17             int r = Read4(temp);
18             
19             if (r < 4)
20             {
21                 eof = true;
22             }
23             
24             for (int k = 0; k < r; k++)
25             {
26                 buf[i++] = temp[k];
27                 
28                 if (i >= n) break;
29             }
30         }
31         
32         return i;
33     }
34 }

 

Leetcode 157: Read N Characters Given Read4

标签:using   log   nbsp   fun   i++   leetcode   buffer   file   note   

原文地址:http://www.cnblogs.com/liangmou/p/8055947.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!