一亩三分地论坛

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

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

LinkedIn 电面

[复制链接] |试试Instant~ |关注本帖
butterwang 发表于 2015-11-19 01:53:30 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类 博士 全职@Linkedin - 内推 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
Intersection of two sorted array
.鏈枃鍘熷垱鑷1point3acres璁哄潧
Question:Get the intersection of two sorted array. Input interface:
Iterable intersection(Iterator a, Iterator b);


. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
因为输入是Iterator, 我就用两个变量来存值。。不知道还有没有更好的方法?
. 1point 3acres 璁哄潧

Code (Java):
[backcolor=white !important][size=1em]
[color=white !important][size=1em]?

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6
. From 1point 3acres bbs
[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em]14

[size=1em]15

[size=1em]16

[size=1em]17
. From 1point 3acres bbs
[size=1em]18

[size=1em]19

[size=1em]20

[size=1em]21

[size=1em]22
. 1point3acres.com/bbs
[size=1em]23
.鐣欏璁哄潧-涓浜-涓夊垎鍦
[size=1em]24

[size=1em]25

[size=1em]26
-google 1point3acres
[size=1em]27

[size=1em]28
.1point3acres缃
[size=1em]29

[size=1em]30

[size=1em]31

[size=1em]32
. 1point 3acres 璁哄潧
[size=1em]33

[size=1em]34

[size=1em]35
. Waral 鍗氬鏈夋洿澶氭枃绔,
[size=1em]36

[size=1em]37

[size=1em]38

[size=1em]39
.1point3acres缃
[size=1em]40

[size=1em]41
. more info on 1point3acres.com
[size=1em]42

[size=1em]43

[size=1em]44

[size=1em]45

[size=1em]46
.鐣欏璁哄潧-涓浜-涓夊垎鍦
[size=1em]47

[size=1em]48

[size=1em]49

[size=1em]50

[size=1em]51

. 1point3acres.com/bbs
[size=1em]52

[size=1em]53

[size=1em]54

[size=1em]55

[size=1em]56
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
[size=1em]57
-google 1point3acres
[size=1em]58
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
[size=1em]59
. 1point3acres.com/bbs
[size=1em]60

[size=1em]61

[size=1em]62

[size=1em]63

[size=1em]64

[size=1em]65

[size=1em]66

[size=1em]67

[size=1em][size=1em]import java.io.*;-google 1point3acres
[size=1em]import java.util.*;

[size=1em]public class Solution {
[size=1em]    public static Iterable<Integer> intersection(Iterator<Integer> a, Iterator<Integer> b) {.鐣欏璁哄潧-涓浜-涓夊垎鍦
[size=1em]        List<Integer> result = new ArrayList<>();
[size=1em]         
[size=1em]        if (!a.hasNext() || !b.hasNext()) {
[size=1em]            return result;
[size=1em]        }. 鍥磋鎴戜滑@1point 3 acres
[size=1em]         
[size=1em]        Integer currA = a.next();
[size=1em]        Integer currB = b.next();
[size=1em]         
[size=1em]        while (currA != null && currB != null) {
[size=1em]            if (currA.equals(currB)) {
[size=1em]                result.add(currA);
[size=1em]                 
[size=1em]                if (a.hasNext()) {
[size=1em]                    currA = a.next();
[size=1em]                } else {
[size=1em]                    currA = null;
[size=1em]                }
[size=1em]                 
[size=1em]                if (b.hasNext()) {
[size=1em]                    currB = b.next();
[size=1em]                } else {
[size=1em]                    currB = null;
[size=1em]                }. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
[size=1em]            } else if (currA < currB) {
[size=1em]                if (a.hasNext()) {
[size=1em]                    currA = a.next();. From 1point 3acres bbs
[size=1em]                } else {
[size=1em]                    currA = null;
[size=1em]                }
[size=1em]            } else {
[size=1em]                if (b.hasNext()) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
[size=1em]                    currB = b.next();
[size=1em]                } else {
[size=1em]                    currB = null;
[size=1em]                } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
[size=1em]            }
[size=1em]        }. visit 1point3acres.com for more.
[size=1em]         . 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
[size=1em]        return result;
[size=1em]    }
[size=1em]     
[size=1em]    public static void main(String[] args) {
[size=1em]        List<Integer> a = new ArrayList<>();
[size=1em]        a.add(1);
[size=1em]        a.add(3);
[size=1em]        a.add(5);
[size=1em]         
[size=1em]        List<Integer> b = new ArrayList<>();
[size=1em]        b.add(1);
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷[size=1em]        b.add(2);
[size=1em]        b.add(3);
[size=1em]        b.add(5);
[size=1em]        b.add(6);
[size=1em]         
[size=1em]        Iterable<Integer> result = intersection(a.iterator(), b.iterator());
[size=1em]         
[size=1em]        for (Integer num : result) {
[size=1em]            System.out.println(num);
[size=1em]        }
[size=1em]    }-google 1point3acres
[size=1em]}





评分

1

查看全部评分

 楼主| butterwang 发表于 2015-11-19 01:57:55 | 显示全部楼层
怎么帖代贴成这样子了。。。
重新来一遍。。
  1. import java.io.*;
  2. import java.util.*;

  3. public class Solution {
  4.     public static Iterable<Integer> intersection(Iterator<Integer> a, Iterator<Integer> b) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  5.         List<Integer> result = new ArrayList<>();
  6.         
  7.         if (!a.hasNext() || !b.hasNext()) {
  8.             return result;
  9.         }
  10.         
  11.         Integer currA = a.next();
  12.         Integer currB = b.next();-google 1point3acres
  13.         
  14.         while (currA != null && currB != null) {
  15.             if (currA.equals(currB)) {
  16.                 result.add(currA);
  17.                 .鐣欏璁哄潧-涓浜-涓夊垎鍦
  18.                 if (a.hasNext()) {
  19.                     currA = a.next();
  20.                 } else {
  21.                     currA = null;
  22.                 }
  23.                
  24.                 if (b.hasNext()) {
  25.                     currB = b.next();
  26.                 } else {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  27.                     currB = null;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  28.                 }
  29.             } else if (currA < currB) {
  30.                 if (a.hasNext()) {
  31.                     currA = a.next();
  32.                 } else {
  33.                     currA = null;
  34.                 }. 1point3acres.com/bbs
  35.             } else {
  36.                 if (b.hasNext()) {
  37.                     currB = b.next();
  38.                 } else {
  39.                     currB = null;
  40.                 }
  41.             }
  42.         }
  43.         
  44.         return result;
  45.     }
  46.    
  47.     public static void main(String[] args) {
  48.         List<Integer> a = new ArrayList<>();
  49.         a.add(1);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  50.         a.add(3);
  51.         a.add(5);
  52.         
  53.         List<Integer> b = new ArrayList<>();
  54.         b.add(1);
  55.         b.add(2);
  56.         b.add(3);. From 1point 3acres bbs
  57.         b.add(5);. From 1point 3acres bbs
  58.         b.add(6);
  59.         
  60.         Iterable<Integer> result = intersection(a.iterator(), b.iterator());
  61.         . 1point 3acres 璁哄潧
  62.         for (Integer num : result) {
  63.             System.out.println(num);
  64.         }
  65.     }
  66. }
复制代码
回复 支持 反对

使用道具 举报

Iancss 发表于 2015-11-23 12:12:54 | 显示全部楼层
你这个题目啥意思?看不是很懂你题目意思
回复 支持 反对

使用道具 举报

Iancss 发表于 2015-11-23 12:13:32 | 显示全部楼层
就是让你求两个数组的交集?
回复 支持 反对

使用道具 举报

glad2mu 发表于 2016-11-16 08:07:13 | 显示全部楼层
感觉这题的意思是让你先用a的iterator建成一个hashset(如果没有重复),再用b的iterator remove 不存在于b中的a中的元素,剩下的就是intersection了。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-8 05:31

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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