Homework_5

Part 1部分相对比较简单,即是迁移了部分method,然后加了一个新的variable来存list。

DList myList = (DList) this.myList;
大概解释一下这句话,DListNode是extends ListNode这个class的,myList是在ListNode这个class里面定义的,所以子类自动获取(继承)了这个Variable。且这个Variable是remote control List这个class的,所以得强制转型(class cast)来使其获得DList的一些特殊功能。因为我们是清楚的,这个this.myList这个object本质就是披着List的DList。

Part 2确实...算有一定难度。

但是瞎搞还是能搞出来。

Insert就是从头到尾,一个一个找,直到找到比自己大的放下即可。遇到相等或者比这个item小的都跳过就行。

Union:思路即是,拿着s的最小元素开始,并从this的最小元素开始,只记着s的元素 < this的元素,就放。然后不同条件下,不同的set move到下一个node。

而且还要巧妙利用catch exception,可以省不少事,还可以留空catch,也可以省不少事(相当于帮你判断是否到boundary)。

Interse:我的思路是把真正的新元素都放在这个set的最后insertBack,这样刚好也能maintain它的顺序。之后再把前面的重复或没用的都remove掉即可。To be specific,记个数,用for remove掉。最后这个intersect很快就写好,没有ji xi去想更好的方法,也许可以写个private helper直接从头开始覆盖?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值