zoukankan      html  css  js  c++  java
  • CS61b homework3 打卡

    part1:代码:注意最后不能直接写成ints=template,因为ints是在method中新建立的指向传入数组的引用,ints=template只是改变了ints的指向,而对传入的数组未改变,所以应该用循环对ints数组逐一赋值(这一问题lecture里面记得有专门讲过,看的时候没太注意听,编程的时候才发现都是坑啊2333)。

    public static void smoosh(int[] ints) {
                int[]template=new int[ints.length];
                Arrays.fill(template, -1);
                int num=1;
                template[0]=ints[0];
                for(int i=1;i<ints.length;i++){
                    if(ints[i]!=template[num-1])
                        {
                        template[num]=ints[i];
                        num++;
                        }
                 }
                for(int i=0;i<ints.length;i++)
                    ints[i]=template[i];
              }

    part2 代码:注意比较SListNode.item时需要用object.equals()的方法,而不能直接用==,==只能用于primitive type比较值,用于Object可以理解为比较的是类似C++里面的地址吧,

    一开始没注意这个问题直接写到currentNode.item==currentNode.next.item,列表根本就没变化,因为两个item的地址始终都不一样。

     public void squish() {
              SListNode currentNode=head;
             while(size>1&&currentNode.next!=null){
                 if(currentNode.item.equals(currentNode.next.item)){
                     currentNode.next=currentNode.next.next;
                     size--;
                 }
                 else
                     currentNode=currentNode.next;
             }
          }

    part 3:唯一一个没有改动的部分,感觉这个比前两个还是简单一些哈。

     public void twin() {
              if(isEmpty())
                  return;
              SListNode currentNode=head;
              for(int i=1;i<=this.size;i++){
                  SListNode newest=new SListNode(currentNode.item,currentNode.next);
                  currentNode.next=newest;
                  currentNode=currentNode.next.next;
              }
              size=size*2;
            
          }

    运行结果:

  • 相关阅读:
    HDU 5642 King's Order 动态规划
    HDU 5640 King's Cake GCD
    HDU 5641 King's Phone 模拟
    HDU 5299 Circles Game 博弈论 暴力
    HDU 5294 Tricks Device 网络流 最短路
    HDU 5289 Assignment rmq
    HDU 5288 OO’s Sequence 水题
    星际争霸 虚空之遗 人族5BB 操作流程
    Codeforces Beta Round #3 D. Least Cost Bracket Sequence 优先队列
    Codeforces Beta Round #3 C. Tic-tac-toe 模拟题
  • 原文地址:https://www.cnblogs.com/lyz1995/p/7154014.html
Copyright © 2011-2022 走看看