CS61B srping 2018 disc01 https://sp18.datastructur.es/

// 1.写出每一行(你认为)的运行结果

int size = 27;
String name = "Fido";
Dog myDog = new Dog(name, size);
int x = size - 5;
if (x < 15) {
myDog.bark(8);
}

while (x > 3) {
x -= 1;
myDog.play();
}

int[] numList = {2, 4, 6, 8};
System.out.print("Hello ");
System.out.println("Dog: " + name);

System.out.println(numList[1]);
if (numList[3] == 8) {
System.out.println("potato");
}

//2.Describe in English what mystery returns if inputArray = [3, 0, 4, 6, 3] and k = 2.
// 如果k=2, inputArray是 [3, 0, 4, 6, 3] ,mystery返回什么?

public static int mystery(int[] inputArray, int k) {
    int x = inputArray[k];
    int answer = k;
    int index = k + 1;
    while (index < inputArray.length) {
    if (inputArray[index] < x) {
    x = inputArray[index];
    answer = index;
    }
    index = index + 1;
    }
    return answer;
    }
    

//2.1Describe what mystery2 does if inputArray = [3, 0, 4, 6, 3].
// 如果 inputArray是[3, 0, 4, 6, 3], mystery2 返回什么?

public static void mystery2(int[] inputArray) {
int index = 0;
while (index < inputArray.length) {
int targetIndex = mystery(inputArray, index);
int temp = inputArray[targetIndex];
inputArray[targetIndex] = inputArray[index];
inputArray[index] = temp;
index = index + 1;
}
}

//3.Implement fib which takes in an integer n and returns the nth Fibonacci number.
//The Fibonacci sequence is 0,1,1,2,3,5,8,13,21,....
// 如下函数签名, 写一个fib函数,返回第n个fib数。

public static int fib(int n) {
}

//3.1Extra: Implement fib in 5 lines or fewer. Your answer must be efficient.
//要求 fib2必须在5行以内。

public static int fib2(int n, int k, int f0, int f1) {
}

src:
disc01

disc01-page1
disc01-page2
disc01-page3
disc01-page1

posted @ 2024-11-25 21:16  刘老六  阅读(23)  评论(0)    收藏  举报