一亩三分地

 找回密码 注册账号

扫描二维码登录本站


码农求职神器Triplebyte
不用海投
内推多家公司面试

Total Comp Calculator
输入offer信息
系统自动计算每年收入

科技公司如何
用数据分析驱动产品开发
coupon code 250off 立减$250

深入浅出AB Test
从入门到精通
coupon code 250off 立减$250
游戏初创公司招聘工程师、UIUX Designer和游戏策划
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
12
返回列表 发新帖
楼主: jrou
收起左侧

lyft店面+店面总结

[复制链接] |试试Instant~
我的人缘0
amethlex 2018-10-23 15:13:37 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   93% (183)
 
 
6% (12)    👎
jrou 发表于 2018-7-21 01:33
[Java] 纯文本查看 复制代码

public class CommonElement implements Iterable {
[/quote]

不好意思,不是很熟悉Java,用python刷的题。请问下为啥要+2和+4?
[mw_shl_code=java,true]    public Iterator<Integer> iterator() {
        List<Integer> l1 = new ArrayList<>();
        List<Integer> l2 = new ArrayList<>();
        for (int i = 0; i <= 20; i+= 2) {
            l1.add(i);
        }
        for (int i = 0; i <= 20; i+= 4) {
            l2.add(i);
        }
         
        return new CommentElementIterator(l1.iterator(), l2.iterator());
    }

另外,它不是给了两个sorted iterator作为input吗,为何你写了iterator()?
在这里,为啥只会在tmp1 = tmp2的情况下才return,其他时候都设它们为null?
[Java] 纯文本查看 复制代码
 private Integer findNext() 
回复 微信

使用道具 举报

我的人缘0
amethlex 2018-10-23 15:17:23 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   93% (183)
 
 
6% (12)    👎
jrou 发表于 2018-7-21 01:33
[mw_shl_code=java,true]

public class CommonElement implements Iterable {

你觉得这么写可以吗?
https://stackoverflow.com/questi ... sts-using-iterators
package com.example;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

public class IteratorMerge {

    /**
     * @param args
     */
    public static void main(String[] args) {
        List<String> list1 = Arrays.asList(new String[]{"A", "B", "C", "D"});
        List<String> list2 = Arrays.asList(new String[]{"B", "D", "F", "G"});

        System.out.println(merge(list1, list2));
    }

    public static List<String> merge(List<String> L1,List<String> L2) {
        List<String> L3 = new ArrayList<String>();

        Iterator<String> it1 = L1.iterator();
        Iterator<String> it2 = L2.iterator();

        String s1 = it1.hasNext() ? it1.next() : null;
        String s2 = it2.hasNext() ? it2.next() : null;
        while (s1 != null && s2 != null) {
            if (s1.compareTo(s2) < 0) { // s1 comes before s2
                L3.add(s1);
                s1 = it1.hasNext() ? it1.next() : null;
            }
            else { // s1 and s2 are equal, or s2 comes before s1
                L3.add(s2);
                s2 = it2.hasNext() ? it2.next() : null;
            }
        }

        // There is still at least one element from one of the lists which has not been added
        if (s1 != null) {
            L3.add(s1);
            while (it1.hasNext()) {
                L3.add(it1.next());
            }
        }
        else if (s2 != null) {
            L3.add(s2);
            while (it2.hasNext()) {
                L3.add(it2.next());
            }
        }

        return L3;
    }
}

补充内容 (2018-10-23 15:21):
啊,好像不对,这就不是iterator了,但可以不可以吧merge分成hasNext 和 next?
hasNext就是s1或s2还有继续,next就是return较小的那个数?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法 - 不要多加空格: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版||一亩三分地

GMT+8, 2019-8-18 20:03

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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