一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1664|回复: 8
收起左侧

2014-04-14 LinkedIn 第二次电面

[复制链接] |试试Instant~ |关注本帖
johnnywsd 发表于 2014-4-15 08:42:52 | 显示全部楼层 |阅读模式

2014(1-3月) 码农类 硕士 全职@Linkedin - 网上海投 - 技术电面 |Other

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
Implement a (Java) Iterable object that iterates lines one by one from a text file.

** A reference to a file. */
public class TextFile implements Iterable<String>. Waral 鍗氬鏈夋洿澶氭枃绔,
{
  public TextFile(String fileName) { // please implement this

  /** Begin reading the file, line by line. The returned Iterator.next() will return a line. */
  @Override. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  public Iterator<String> iterator() { // please implement this. 鍥磋鎴戜滑@1point 3 acres


Print binary tree by level
/**
* Sample input:. Waral 鍗氬鏈夋洿澶氭枃绔,
*
*          1
*         / \-google 1point3acres
*        3   5.鏈枃鍘熷垱鑷1point3acres璁哄潧
*       / \   \
*      2   4   7. 1point 3acres 璁哄潧
*     /     \. Waral 鍗氬鏈夋洿澶氭枃绔,
*    9       8
*
* Expected output:
*    1
*    3 5
*    2 4 7
*    9 8
*    ==========
*/

发题攒人品,求过。
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

评分

1

查看全部评分

 楼主| johnnywsd 发表于 2014-4-15 08:59:20 | 显示全部楼层
楼主亲自作答。
楼主是Python流的。第一题用Python基本没法达到它的要求。

第二题。
  1. """
  2. /**
  3. * Sample input:.1point3acres缃
  4. *
  5. *          1
  6. *         / \. 鍥磋鎴戜滑@1point 3 acres
  7. *        3   5
  8. *       / \   \
  9. *      2   4   7
  10. *     /     \
  11. *    9       8
  12. *
  13. * Expected output:
  14. *    1. 鍥磋鎴戜滑@1point 3 acres
  15. *    3 5
  16. *    2 4 7
  17. *    9 8
  18. *    ==========
  19. */
  20. """
  21. class TreeNode(object):

  22.     def __init__(self, val):
  23.         self.val = val
  24.         self.left = None
  25.         self.right = None


  26. def print_by_level(root):
  27.     if not root:
  28.         print ''

  29.     curr = []
  30.     prev = [root]
  31.     while prev:.鐣欏璁哄潧-涓浜-涓夊垎鍦
  32.         curr = []
  33.         str_list = [str(x.val) for x in prev]. From 1point 3acres bbs
  34.         print ' '.join(str_list)
  35.         for item in prev:
  36.             if item.left:
  37.                 curr.append(item.left). 1point3acres.com/bbs
  38.             if item.right:
  39.                 curr.append(item.right)
  40.         prev = curr
复制代码
回复 支持 反对

使用道具 举报

lazyGoose 发表于 2014-4-15 10:06:34 | 显示全部楼层
我加个那个Iterator的~

public class TextFile implements Iterable<String> {
        ArrayList<String> lines = new ArrayList<String>();
        public TextFile(String fileName) { // please implement this
                Scanner sc = null;
                try {
                        sc = new Scanner(new File("file.txt"));.鏈枃鍘熷垱鑷1point3acres璁哄潧
                } catch (FileNotFoundException e) {. more info on 1point3acres.com
                        // TODO Auto-generated catch block. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                        e.printStackTrace();
                }
                while (sc.hasNext()) {. From 1point 3acres bbs
                        lines.add(sc.nextLine());
                }. Waral 鍗氬鏈夋洿澶氭枃绔,
        }

        /**
         * Begin reading the file, line by line. The returned Iterator.next() will
         * return a line.
         */
. 鍥磋鎴戜滑@1point 3 acres        @Override
        public Iterator<String> iterator() { // please implement this
                return lines.iterator();
        }

        public static void main(String[] args) {
                TextFile text = new TextFile("file.txt");
                Iterator<String> itr = text.iterator();
                while (itr.hasNext()) {. 1point 3acres 璁哄潧
                        System.err.println(itr.next());
                }
               
        }
}
求职神器indeed - 在全球最大的求职网站找找适合你的工作?
回复 支持 反对

使用道具 举报

 楼主| johnnywsd 发表于 2014-4-15 11:39:54 | 显示全部楼层

Follow up 问题。如果文件过于大,不能一次load到内存中怎么办?
提示:先读1000行,要读1001行时,在读1000行。
回复 支持 反对

使用道具 举报

lhn9021 发表于 2014-4-15 12:01:22 | 显示全部楼层
第一题我觉得是不是bufferedreader就行了
回复 支持 反对

使用道具 举报

lazyGoose 发表于 2014-4-16 00:17:14 | 显示全部楼层
johnnywsd 发表于 2014-4-15 11:39 . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
Follow up 问题。如果文件过于大,不能一次load到内存中怎么办?
提示:先读1000行,要读1001行时,在读 ...
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
是啊,如果这样的话该怎么办??

一个size是1000的ArrayList返回一个Iterator
两个size都是1000的ArrayLists怎么才能只返回一个Iterator呢?
回复 支持 反对

使用道具 举报

 楼主| johnnywsd 发表于 2014-11-25 05:16:15 | 显示全部楼层
lz就是个jb
回复 支持 反对

使用道具 举报

gosteve 发表于 2015-1-4 02:37:55 | 显示全部楼层
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
lz你这自我评价 我有点难以理解啊 ...

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

xiaoying10101 发表于 2015-1-6 12:44:26 | 显示全部楼层
用python的第一题怎么办 直接放弃吗?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2017-1-24 05:09

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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