北京寶利通公司4道面試題

2021-05-13 01:08:28 字數 2006 閱讀 7833

1) 給定兩個字串,如果乙個字串是另乙個字串的結尾部分相同則返回1,否則返回0, 如 abcddde   dde  則返回1 ;如 abcddde   dce  則返回0

思路:用string類中的endswith判斷一下即可搞定。

2)  給定乙個字串將其中連續的四個空格換成tab鍵。

思路:用string中的replaceall替換空格為tab

3)  f(n)=1+1/1的階乘+1/2的階乘+1/3的階乘+…..1/n的階乘。

思路://求出1/n的階乘

public static double onejiecheng(int n)

return d;

}//將各個1/n的階乘相加即可

public static double jiechengsunfa(int n)

return returnvalue;

}4)  任意給定乙個數字陣列,找出其中和最大的連續子陣列,如 1 2 3 -1 3 4   最大和陣列 3 4。

(注)這裡重點討論一下這個題目的演算法,不知道大家是否想到其他的好的演算法。現在我將自己想到的這個笨演算法跟大家介紹一下。

思路:a.判斷陣列中的數字是否全是負數,如果是,找出最大的負數來,並轉化成陣列,即最大的連續子陣列;

b.把陣列中的數字轉化成字串,判斷如果改數字為負數,則用空格來分開,否則用逗號隔開,如「1,2,3,-1 3,4」;

c.用字串分隔處理空格,將此字串變成一字串陣列,迴圈此字串陣列中的各個字串,並遞迴處理資料,直到最後乙個字元不能為負為止,值相加進行比較判斷,找出最大的值來,並記錄此值對應的數值,此最大值即由最大的連續陣列的值相加得來的。

實現:public static int getarray(int array,int param)

return p;

}public static int findsubarray(int intarray)

}if(flag == intarray.length)

}return new int;

}  //其他情況

string strtemp = "";

for(int i = 0; i < intarray.length;i++)

else

}if(!strtemp.equals(""))

string flagarray = strtemp.split(" ");

int returnvalue = new int[10];

int patemp = 0;

for(int i = 0; i < flagarray.length; i++)

int t = getarray(intlength,intlength.length-1);

int destarray = new int[t+1];

system.arraycopy(intlength, 0, destarray, 0, t+1);

int temp = 0;  

for(int k = 0; k < destarray.length; k++)

if(patemp < temp)

}return returnvalue;

}測試:

int test1 = ;

int get1 = findsubarray(test1);

for(int i = 0; i < get1.length; i++)

system.out.println("/n-------------");

int test2 = ;

int get2 = findsubarray(test2);

for(int i = 0; i < get2.length; i++)

system.out.println("/n-------------");

int test3 = ;

int get3 = findsubarray(test3);

for(int i = 0; i < get3.length; i++)

執行結果:

北京某公司 IOS面試題

地點 北京市朝陽區東四環中路78號大成國際中心a2 7a11 010 59626720 1.輸出結果 main int ptr int a 1 printf d,d a 1 ptr 1 答案 2,5 a 1 就是a 1 ptr 1 就是a 4 執行結果是2,5 a 1 不是首位址 1,系統會認為加乙...

北京某公司 面試題 shell 指令碼

1.編寫乙個指令碼 實現簡單的減法運算,要求提示輸入變數?read p 請輸入第乙個數字 num 1 read p 請輸入第二個數字 num 2 expr num 1 1 如果以後輸的是非數字,就不參與運算,故不能寫成num expr num 1 1 if ne 0 then ne 0 then 是...

IT公司面試題

今天被架構師問了一連串的問題,估計問了有乙個多小時吧,有很多問題都答不上來,突然發現原來自己沒有掌握的知識太多了,原來我覺得技術是用來解決問題的,而不是用來研究的,但現在覺得要更快捷的解決問題,還得好好的研究他們的原理,凡事多問個 他的原理是什麼,底層是怎麼實現的 回來好好整理了一下知識點,我想就每...