|
@@ -0,0 +1,84 @@
|
|
|
+package com.sf.day07.homework;
|
|
|
+
|
|
|
+import com.sun.org.apache.regexp.internal.RE;
|
|
|
+import org.junit.jupiter.api.Test;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 作业
|
|
|
+ */
|
|
|
+public class HomeTest {
|
|
|
+ @Test
|
|
|
+ public void t1(){
|
|
|
+/**
|
|
|
+ * 声明一个数组工具类ArrayTools,包含如下方法:
|
|
|
+ * int sum(int[] arr):求所有元素总和
|
|
|
+ * int max(int[] arr):求所有元素的最大值
|
|
|
+ * int indexOf(int[] arr, int value):查找value在arr数组中第一次出现的下标,如果不存在返回-1
|
|
|
+ * int lastIndexOf(int[] arr, int value):查找value在arr数组中最后一次出现的下标,如果不存在返回-1
|
|
|
+ */
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void t2(){
|
|
|
+
|
|
|
+ /**
|
|
|
+ * int binarySearch(int[] arr, int value):使用二分查找法在arr数组中查找value的下标,如果value不存在,就返
|
|
|
+ * 回-1,如果数组arr不是有序的,结果将不一定正确
|
|
|
+ * int binarySearch(char[] arr, char value):使用二分查找法在arr数组中查找value的下标,如果value不存在,就返
|
|
|
+ * 回-1,如果数组arr不是有序的,结果将不一定正确
|
|
|
+ * int binarySearch(double[] arr, double value):使用二分查找法在arr数组中查找value的下标,如果value不存在,就
|
|
|
+ * 返回-1,如果数组arr不是有序的,结果将不一定正确
|
|
|
+ * void sort(int[] arr):可以给arr数组从小到大排序,用冒泡排序实现
|
|
|
+ * void sort(char[] arr):可以给arr数组从小到大排序,用冒泡排序实现
|
|
|
+ * void sort(double[] arr):可以给arr数组从小到大排序,用冒泡排序实现
|
|
|
+ * String toString(int[] arr):将元素拼接为"{元素1,元素2,......}"的字符串返回。
|
|
|
+ * String toString(double[] arr):将元素拼接为"{元素1,元素2,......}"的字符串返回。
|
|
|
+ * String toString(char[] arr):将元素拼接为"{元素1,元素2,......}"的字符串返回。
|
|
|
+ */
|
|
|
+
|
|
|
+ int[] arr = {1,2,3,4,5,6,9,7,8,12};
|
|
|
+ String s = HomeTest.toString(arr);
|
|
|
+ System.out.println(s);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public static String toString( int[] arr){
|
|
|
+ //[ 1,2,3,4,5,6,9,7,8,12 ]
|
|
|
+ String str = "[";
|
|
|
+// int[] arr = {1,2,3,4,5,6,9,7,8,12};
|
|
|
+ for (int i = 0;i< arr.length;i++){
|
|
|
+ if(i<arr.length-1){ //有元素
|
|
|
+ str += arr[i]+",";
|
|
|
+ }else {
|
|
|
+ str += arr[i]; //最后一个元素
|
|
|
+ }
|
|
|
+ }
|
|
|
+ str += "]";
|
|
|
+ return str;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void t3(){
|
|
|
+ /**
|
|
|
+ * 用递归实现不死神兔:故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契。
|
|
|
+ * 在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,
|
|
|
+ * 再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,没有发生死亡,
|
|
|
+ * 问:现有一对刚出生的兔子2年后(24个月)会有多少对兔子?
|
|
|
+ *
|
|
|
+ * 1 1 2 3 5 8 13 21 34
|
|
|
+ */
|
|
|
+ int f = HomeTest.f(24);
|
|
|
+ System.out.println(f);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static int f(int n){
|
|
|
+ if(n <= 2){
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ return f(n-1)+f(n-2);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|