![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CS61B 留给ji己
文章平均质量分 61
franklink_zhao
这个作者很懒,什么都没留下…
展开
-
Homework_5
Part 1部分相对比较简单,即是迁移了部分method,然后加了一个新的variable来存list。DList myList = (DList) this.myList;大概解释一下这句话,DListNode是extends ListNode这个class的,myList是在ListNode这个class里面定义的,所以子类自动获取(继承)了这个Variable。且这个Variable是r原创 2017-07-10 20:19:19 · 167 阅读 · 0 评论 -
Lab_10
Part 1第一部分的parent非常好写,按照题目要求,如果parent是null不返回null,而是返回一个zero-parameter的new SibTreeNode就行。Part 2InsertChild的话,就考虑比较多的情况即可,这次lab作业比较仓促,没有太多时间优化代码,只能想到一种case就往上加,所以导致代码比较臃肿。考虑情况如下:c小于1的时候于c等于原创 2017-07-22 09:37:38 · 221 阅读 · 0 评论 -
Lab_6
趁还没忘...赶紧记下lab_6的要点。如果,main调用A,A调用B,B调用C。如下所示。main method --> mthod_A --> method_B --> method_C结果你在C里预判到了错误,并且写了个throw把它throw出来,你在B里不想管,你在A里也不想管,一路throw上去,throw到main,main里不得不handle!并且在A,B的me原创 2017-07-07 17:46:58 · 185 阅读 · 0 评论 -
Homework_4
Part1很简单,就跟之前写DList1和2一样,按照要求,按部就班的写就行。Part2看了眼就跳过了,比较懒。原以为Homework_4就要这么水过,但突然发现,看不懂part3。于是,认真的又看了一遍S&B的Chapter 8...也真正理解,为何用newOne这个看似多余的Method来写DList。LockDListNode是DListNode的subclass,所以,原创 2017-07-07 15:52:50 · 226 阅读 · 0 评论 -
Project_1
Project_1的part1搞出来之后,很有成就感,后面三个就不想搞了...但还是简单搞了搞。PixImage的3D矩阵来存每个像素块中的三原色。最好在class一开始就set三个final constant分别是red、green和blue来增强code的readability。public final static int RED = 0;public final static原创 2017-07-06 14:20:57 · 189 阅读 · 0 评论 -
Lab_3
这次作业码量很少,比较简单。不多赘述: public void insertEnd(Object obj) { if (size == 0) { tail = new SListNode(obj); head = tail; } else { tail.next = new SListNode(obj); tail = ta原创 2017-06-27 15:59:37 · 162 阅读 · 0 评论 -
Homework_2
今天正式成立了Insane Code奖,用于鼓励、激发、奖励那些写出Insane Code的Programmer。关于Homework2,Method太多,Method从上往下依次讨论。1、最普通的Constructor没啥好说的,记得validate就行。2、String型的Contructor,我用了String.split by “/”的方法,也可以复杂点用substring等方原创 2017-06-26 21:28:51 · 223 阅读 · 1 评论 -
Homework_6
“为什么大家都在缅怀某人?不懂,极端严重病态的投机主义者,满嘴跑火车。勇气略可嘉而已。”,“可能是大形势下,跟风有逼格。”,“也有可能是借他这个所谓“符号”来发声而已”。Homework 6挺绕的,略难,很有趣。一个一个method记录。First constructor带一个估计的item总量,然后要产生n/0.5~1.0内的bucket。我选了0.6这个数附近。且bucke原创 2017-07-14 11:25:30 · 145 阅读 · 0 评论 -
Lab_2
Part1部分,即是考察用this来实现。Part2部分:Fraction sumOfTwo = f1.add(f2); // Sum of f1 and f2.Fraction sumOfThree = f0.add(f1).add(f2); // Sum of f0, f1, and f2.Part3部分,changeNu原创 2017-06-25 11:36:26 · 155 阅读 · 0 评论 -
Homework_1
第一个作业OpenCommercial就按部就班的按照课件上Read Web的方法来做。最后要反向输出5行内容,即用一个String Array即可,或者可以用Stack来做,first-in-last-out。第二个作业Nuke有很多种方法来去除第二个字母:用String的基本Static方法,或者用StringBuilder的delete方法均可。这里值得注意的地方是,要考原创 2017-06-25 11:03:07 · 154 阅读 · 0 评论 -
Lab_1
第一处错误是Line 28结尾处的分号。第二处错误是Line 33中:last.toUpperCase()toUpperCase Method后的括号。实际上,排除以上两个错误后,运行时,还出现了另一个编译报错: java.lang.StringIndexOutOfBoundsException这是由于,String.substring();这个方法使用不当,或使用方法原创 2017-06-21 19:21:52 · 196 阅读 · 1 评论 -
Lab_4
Lab比较简单,简言之。1、DList1中的InsertFront,只需考虑两种Cases即可,即zero node list和non-zero node list。2、DList1中的removeFront,实则有三种情况,但两种情况可以合并在一起写,只需要加一个小trick,即if中的size++。if (head != null && head != tail) { head.原创 2017-07-01 21:09:24 · 144 阅读 · 0 评论 -
Lab_7
没有用emacs...以后估计得学。1/2是默认为int型的,所以在parameter变成argument的时候,这个parameter就已经被cast到0了。这个lab的code,方法还是用了recursive的思想,stack一层一层堆,然后在一个个pop off。Peace。原创 2017-07-11 11:05:49 · 171 阅读 · 0 评论 -
Homework_3
今天虽然没有Insane Code,但70% of Feat都归@AlbertSu所有!最终在共同努力下,每个解答都比老师提供的答案少很多行。1、Smoosh这个题,不需要另外set一个array,然后再copy回原array。只需要在原array上动手修改(覆盖)即可。用一个简单的for循环,maintain两个index:i与j,i记录原array的元素index,j记录最终arr原创 2017-07-01 10:25:38 · 217 阅读 · 0 评论 -
Homework_7
Homework_7Insert Method这次作业逻辑比较麻烦,但逻辑链条比较单一,现在想想不难,但写得时候会遇到各种各样的问题。难者不会,会者不难。在此,就列出几个要点和我用到的private helper即可。首先关键,读懂find method,find与insert逻辑链条上是相似的。insert这个method中,我用到了insertHelper和reconstruc原创 2017-07-24 10:08:59 · 175 阅读 · 0 评论