package org.westos.tuzi;
public class TuziDemo {
public static void main (String[] args) {
System.out .println(tuzi(20 ));
}
public static int tuzi (int n) {
if (n==1 || n==2 ) {
return 1 ;
}else {
return tuzi(n-1 )+tuzi(n-2 );
}
}
}
package org.westos.Homewrok;
/**
* 二分查找
* */
public class Homework01 {
public static void main (String[] args) {
int [] arr = {13 ,24 ,57 ,69 ,80 };
halfFind(arr,24 );
}
public static void halfFind (int [] arr,int a) {
int i=arr.length/2 ;
while (true ) {
if (arr[i]==a) {
System.out.println(a+"的下标为: " +i);
break ;
}else if (arr[i]>a) {
i/=2 ;
}else if (arr[i]<a) {
i=(i+arr.length)/2 ;
}
}
}
}
package org.westos.Homewrok;
/**
* 3:统计大串中小串出现的次数
举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出
现了5次
* */
public class Homework02 {
public static void main (String[] args) {
String s1= "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun" ;
String s2= "java" ;
System.out.println("小串在大串中出现了" +findSmallStr(s1, s2)+"次" );
}
public static int findSmallStr (String s1 ,String s2) {
int count=0 ;
char [] arr = s1.toCharArray();
char [] arr2 = s2.toCharArray();
for (int i=0 ; i<arr.length-arr2.length+1 ;i++) {
if (arr[i]==arr2[0 ]) {
String s3 = s1.substring(i, i+arr2.length);
if (s3.equals(s2)) {
count++;
}
}
}
return count;
}
}