找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5989|回复: 27
收起左侧

[米群网刷题小分队] LeetCode 新题 Read N Characters Given Read4

  [复制链接]

15

主题

10

精华

555

积分

超级会员

Rank: 4

积分
555
发表于 11-20-2014 02:30 AM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Sophia 于 12-1-2014 10:35 AM 编辑

新鲜出炉的新题咯

Question:

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.

这是我写的答案,刚刚accept了,有点ugly。。。刚学java见谅哈 欢迎大家讨论

后面有个截图版本的,不同颜色看的清楚点

[code]public class Solution extends Reader4 {
    /**
     * @param buf Destination buffer
     * @param n   Maximum number of characters to read
     * @return    The number of characters read
     */
    public int read(char[] buf, int n) {
    char[] bb = new char[4];
    int k = read4(bb);
    int cur = 0;
    int index = 0;
    Boolean flag = false;
    while(k>0){
        if(index>=n) break;
        buf[index++] = bb[cur++];
        k--;
        if(k == 0){
            if(flag) break;
            cur = 0;
            k = read4(bb);
           if(k<4) flag = true;
         }
    }
    return index;
    }
}[/code]




发表于 11-20-2014 10:27 AM | 显示全部楼层
great!! thanks
我们始终相信IT会持续改造甚至创新传统行业,我们始终全面看好咱们的CS专业!
回复 支持 反对

使用道具 举报

发表于 11-20-2014 10:31 AM | 显示全部楼层
您买书啦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表