May 2009 - May 2017 论坛八周年-你的足迹,我的骄傲


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 2241|回复: 8
收起左侧

2014-04-14 LinkedIn 第二次电面

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

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

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

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>.1point3acres缃
{
  public TextFile(String fileName) { // please implement this

  /** Begin reading the file, line by line. The returned Iterator.next() will return a line. */
  @Override.鏈枃鍘熷垱鑷1point3acres璁哄潧
  public Iterator<String> iterator() { // please implement this


Print binary tree by level
/**
* Sample input:
*
*          1
*         / \. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
*        3   5
*       / \   \
*      2   4   7
*     /     \
*    9       8
*
* Expected output:
*    1. from: 1point3acres.com/bbs
*    3 5
*    2 4 7
*    9 8
*    ==========. 1point3acres.com/bbs
*/. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
发题攒人品,求过。

. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

评分

1

查看全部评分

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

第二题。
  1. """
  2. /**
  3. * Sample input:
  4. *
  5. *          1
  6. *         / \
  7. *        3   5
  8. *       / \   \
  9. *      2   4   7
  10. *     /     \
  11. *    9       8.1point3acres缃
  12. *
  13. * Expected output:
  14. *    1
  15. *    3 5
  16. *    2 4 7. from: 1point3acres.com/bbs
  17. *    9 8
  18. *    ==========
  19. */-google 1point3acres
  20. """
  21. class TreeNode(object):.鐣欏璁哄潧-涓浜-涓夊垎鍦
  22. . 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  23.     def __init__(self, val):
  24.         self.val = val
  25.         self.left = None
  26.         self.right = None


  27. def print_by_level(root):
  28.     if not root:
  29.         print ''. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

  30.     curr = []-google 1point3acres
  31.     prev = [root]
  32.     while prev:. 1point 3acres 璁哄潧
  33.         curr = []
  34.         str_list = [str(x.val) for x in prev]
  35.         print ' '.join(str_list)
  36.         for item in prev:
  37.             if item.left:. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  38.                 curr.append(item.left)
  39.             if item.right:
  40.                 curr.append(item.right)
  41.         prev = curr. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
复制代码
回复 支持 反对

使用道具 举报

lazyGoose 发表于 2014-4-15 10:06:34 | 显示全部楼层
关注一亩三分地微博:
Warald
我加个那个Iterator的~. from: 1point3acres.com/bbs

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"));
                } catch (FileNotFoundException e) {. 1point3acres.com/bbs
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
                while (sc.hasNext()) {
                        lines.add(sc.nextLine());
                }
        }

        /**
         * Begin reading the file, line by line. The returned Iterator.next() will
         * return a line.
         */
        @Override
        public Iterator<String> iterator() { // please implement this. from: 1point3acres.com/bbs
                return lines.iterator();
        }

        public static void main(String[] args) {
                TextFile text = new TextFile("file.txt");
                Iterator<String> itr = text.iterator();
                while (itr.hasNext()) {
                        System.err.println(itr.next());
                }
               
        }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
}
回复 支持 反对

使用道具 举报

 楼主| 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 . visit 1point3acres.com for more.
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的第一题怎么办 直接放弃吗?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-5-29 02:53

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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