What is a recursive function called when it's recursive case has only one call to itself?
Linear
ArrayList<String> list = new ArrayList<>();
if (list.add("a")) {
System.out.println("ewvrtibgyb");
} else {
System.out.println("srigovbgr"); }
if (list.add(5)) {
System.out.println("sfdciuybgg");
} else {
System.out.println("fiubgfy"); }
What is the output of each if statement and why?
ewvrtibgyb because it successfully adds a to the list
Error since Integers can't be added to the list
int[] nums = {1, 2, 3};
nums[2] = 10; //Assigns new value
System.out.println(nums,length);
Output?
Syntax Error
import java.util.ArrayList
ArrayList<Integer> nums = new ArrayList<>();
nums.add(5);
nums.add(6);
nums.add(7);
nums.add(8);
nums.add(9);
nums.add(10);
nums.add(11);
System.out.println(nums.get(nums.size()-4));
Output?
Missing semicolon on import
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("b");
for (String s : list) {
if (s.equals("b")) {
list.remove(s); }}
System.out.println(list);
Output?
ConcurrentModificationException
Explain how to write the Fibonacci sequence recursively (give the both the base and recursive case)
Answers will vary
int[][] m = {{1,2,3},{4,5}};
for (int i = 0; i <= 1; i++) {
for (int j = i; j <= 1; j++) {
m[j][i] += i-2; }}
for (int i = 0; i <= 1; i++) {
for (int j = i; j <= 1; j++) {
m[i][j] *= j+100; }}
for (int i = 0; i <= 2; i++) {
for (int j = i; j <= 1; j++) {
m[j][j] *= (j*i-j*j-2)+j; }}
System.out.println(m[1][1]);
Output?
The output is: 808
public static double recurse(int x) {
if (x == 0) return 0;
return recurse(x - 2) + 1;
}
System.out.println(recurse(16));
Output?
The output is: 8.0
public static int bSearch(int[] nums, int lo, int hi, int target) {
if (hi >= lo) {
int mid = (lo + hi) / 2;
if (nums[mid] == target) {
return mid; }
if (nums[mid] > target) {
return bSearch(nums, lo, mid - 1, target); }
else {
return bSearch(nums, mid + 1, hi, target);}}
return -1; }
int[] nums = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
int targetIndex = bSearch(nums, 0, nums.length - 1, 3);
How many times will bSearch() be called?
4 times