阿里云面试题 求各位带佬看看咋做

如题 阿里云面试给的题目 各位带佬看看咋做

/** Iterator 表示了一个元素序列。 这个元素序列在什么位置,以及如何存储都是未知的。
* 这个元素序列可能非常非常长,有几十亿个元素,或者可能是无穷无尽的。*/
public interface Iterator<T extends Comparable<T>> {

/** 返回当前游标位置的元素
* @return 当前游标位置的元素
* */
public T getCurrentElement();

/** 游标移动到下一个元素。
* 注意:Iterator在初始时游标位于第一个元素之前!!!!
* @return 如果有下一个元素的话,返回true, 否则返回false
*/
public boolean moveNext();
}


/**
* 输入一个iterators数组,这个数组中的每个iterator返回的元素都是有序的(升序)。
* 这个类要实现一个iterator,它把iterators数组代表的iterator看作一个整体,返回整体有序的结果。
* 举个例子:
*      iterators数组包含两个iterator。
*      iterator 1返回:1 3 4 6 7 8
*      iterator 2返回:2 5 9 10
*      那么这个类返回的元素序列为: 1 2 3 4 5 6 7 8 9 10
*
* 实现限制:
* 1. 你能使用的内存必须和元素的个数无关。即即使元素的个数是无穷多个,你的程序也应该只需要很小的内存就可以运行。
* 2. 不能对这个类的使用者作假定。比方说不能假定moveNext()和getCurrentElement()一定是成对调用的。
* */
public class TotalOrderIterator<T extends Comparable<T>> implements Iterator<T> {
public TotalOrderIterator(vector<Iterator<T>>& iters, size_t len) {
}
public T getCurrentElement() {
return getCurrentElement();
}
public boolean moveNext() {
return moveNext();
}
}
#阿里云#
全部评论

相关推荐

2024-11-14 19:18
门头沟学院 软件测试
点赞 评论 收藏
分享
嗷佛快来快来快快快来:我当时就是听了别人的谣言,环境的大变,左右摇摆不定,到最后一事无成。我也给你提不了什么有效的建议,因为我自己就是败犬。但是我确实是从cpp转到了Java,cpp也做过项目,了解过具体的细分方向。如果你感兴趣,不会拦你。因为只要一件事情能坚持下去 就会发光
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务