查看: 1396| 回复: 0
跳转到指定楼层
上一主题 下一主题
收起左侧

lc read4

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
小弟  lc157 read4  一直无法做对。 也找不到自己解法的错误之处,请各位大侠指正啊

int read4(char *buf);
// key : what does  "read4" return ??
// 1 : read4() < 4,  reach end of file
// 2 : read4() == 4   a: ok to continue;  b: last 4 bye of file

class Solution {
public:
    /**
     * @param buf Destination buffer
     * @param n   Maximum number of characters to read
     * @return    The number of characters read
     */
    int read(char *buf, int n) {
        // n L requesting buffer count
        // tmp: actual number read for single read4
        // actualRead:  actual number read for us on each read4,  
        // readLen: total actual number read for us
        int tmp = 0, actualRead = 0, readLen = 0;
        char buffer[4];
        while (n > 0) {
            tmp = read4(buffer);
            // make sure file size and requesting size can satisfy each other.
            // n <= tmp  
            // tmp < n  
            actualRead = min(tmp, n);
            readLen += actualRead;
            //append buffer to buf
            strncat(buf, buffer, actualRead);

            if (actualRead < 4) break;
            n -= actualRead;
        }

        return readLen;
    }
};


上一篇:[分享] leetcode-cli: 体验不一样的刷题风
下一篇:Python刷LC找人讨论
您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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