第一題
/*
?求兩個字符串的最大公共子串
?String s1 = "abcdefghigj";
?String s2 = "xyzabcdeigj";
?則輸出abcde
*/
第二題
/*
輸出楊輝三角形
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
*/
第三題
/*
String[] a = {"a","b","c","d","e","f","g","h","i","j","",""};
String[] b = {"f","a","c","f","e","k","l","y","p","o"};
如果b里面的數據在a里面沒有,則把沒有的數據放到""里面,超過的話,則報"已經滿了,無法插入"~~
*/
解析:
第一題:
public class first
{
? public String search(String s1,String s2)
? {
? String max = "";
? for(int i=0; i<s1.length(); i++)
? {
??? for(int j=i; j<s1.length(); j++)
??? {
????? String sub = s1.substring(i,j);
????? if((s2.indexOf(sub)!=-1)&&sub.length()>max.length())
????? {
??????? max = sub;
????? }
??? }
? }?
? return max;
? }
?
? public static void main(String[] args)
? {
??? String s1 = "abcdefghigj";
??? String s2 = "xyzabcdefigj";
??? String output = new first().search(s1,s2);
??? System.out.println(output);
? }
}
第二題:
public class second
{
? public static int[] general(int[] data)
? {
??? int[] fanhui = new int[data.length+1];?
??? fanhui[0] = data[0];
??? for(int i=1,j=1; j<data.length; i++,j++)
??? {
????? fanhui[i] = data[j-1] + data[j];
??? }?????????
??? fanhui[fanhui.length-1] = data[data.length-1];
??? for(int k=0; k<fanhui.length; k++)
??? {
????? System.out.print(fanhui[k] + "\t");
??? }
??? System.out.print("\n");
??? return fanhui;
? }
? public static void main(String[] args)
? {
??? int times = 5;
??? int[] chushizhi = {1};
??? System.out.println(chushizhi[0]);
??? for(int i=0; i<times; i++)
??? {
??? chushizhi = second.general(chushizhi);???
??? }
? }
}
第三題:
import java.util.ArrayList ;
public class Third
{
public static void main(String[] args)
{
??? String[] a = {"a","b","c","d","e","f","g","h","i","j","k","",""};
??? String[] b ={"f","a","c","f","e","k","l"};
??? Third third = new Third();
??? third.compareAndReplace(a,b);
??? StringBuffer output = new StringBuffer();
??? for(int i=0; i<a.length; i++)
??? output.append(a[i]);?
??? System.out.println("a已變成" + output.toString());
? }
?public void compareAndReplace(String[] a,String[] b)
?{
?? for(int i=0; i<b.length; i++)
?? {
????? outer:
???? for(int j=0; j<a.length; j++)
???? {
?????? if(b[i].equals(a[j]))
?????? break outer;
?????? if(j==a.length-1)
?????? {
?????? if(findFirstSpace(a)!=-1)
?????? {
???????? a[findFirstSpace(a)] = b[i];
?????? }
?????? else
?????? {
???????? System.out.println("已經滿了,無法插入" + b[i]);
?????? }??????
???? }
?? }
?}
?}
?
?public int findFirstSpace(String[] arg)
?{
?? for(int m=0; m<arg.length; m++)
?? {
???? if(arg[m].equals(""))
???? return m;????
?? }
?? return -1;
?}
}