题一:字符串子串判断
给两个字符串A,B,判断B是A的子串。
public class Test1_1 { public static boolean compare(String a, String b){ boolean flag = false; int a_length = 0; for(int i=0;i<b.length();i++){ int temp_index = 0; String temp = b.substring(i); if(temp.length()<a.length())return flag; for(int j=0;j<a.length();j++){ if(temp.charAt(temp_index)==a.charAt(j)){ a_length++; temp_index++; }else{ a_length=0; break; } } if(a_length==a.length()){ flag=true; } } return flag; } public static void main(String[] args) { String lineA = "AAABBCCC"; String lineB = "BBBCCEEDDDAAABBCCCWWWDDD"; System.out.println(compare(lineA,lineB)); } }
题二:任意排序
把java的快排写了一遍,排序顺序是从大到小。
public class Test1_1 { public static void quickSort(int[] num,int l,int r){ int i=l,j=r; if(i>=j)return; int temp = num[l]; while (i<j){ while (i<j&&num[j]<=temp)j--; num[i]=num[j]; while (i<j&&num[i]>=temp)i++; num[j]=num[i]; } num[i]=temp; quickSort(num,l,i-1); quickSort(num,i+1,r); } public static void main(String[] args) { int[] nums = {3,11,8,12,6,5}; quickSort(nums,0,nums.length-1); for(int t:nums){ System.out.print(t+" "); } } }