春雨軟體筆試的三道演算法題

2021-06-19 17:16:42 字數 1377 閱讀 8008

public static void main(string args)

/*** 把數字轉化成中文描述,比如12330453

* 轉化成:一千二百三十三萬零四百五三

*/public static void numtostring(int n)

if(n==0)

int wan=n/10000;

int qian=n%10000;

if(wan!=0)

fournumtostring(qian);

}private static void fournumtostring(int n_4)

int num=new int[4];

int i=3;

while(n_4!=0)

for(int j=i+1;j<4;j++)

if(flag==0) break;

}else if(j==1)else

if(flag==0) break;

}}else if(j==2)

}else

if(flag==0) break;

}}else if(j==3)}}

private static string numtochinese(int n)

}/**

* 筆試演算法題,如輸入整數n,按如下方式輸出矩陣。設n=4,為

* 1, 2, 6, 7

* 3, 5, 8, 13

* 4, 9, 12,14

* 10,11,15,16

*/public static void put(int n)//起始方向

if(i==0 && flag==1)

flag=0;

continue;

}else if(i==0 && flag==0)

if(flag==1 && j==0)

flag=0;

continue;

}else if(flag==0 && j==0)

if(flag==1 && j==n-1)

flag=0;

continue;

}else if(flag==0 && j==n-1)

if(i==n-1 && flag==1)

flag=0;

continue;

}else if(i==n-1 && flag==0)

}tmp[n-1][n-1]=k;

system.out.println("輸入為"+n+",輸出矩陣如下:");

for(int m=0;m};/**

* 將輸入的兩個字串數字相乘,返回結果字串

*/public static string stringmulti(string num1,string num2)

三道頭條的演算法筆試題

例1 給出乙個長度為n的陣列a1 a2 an,請找出在所有連續區間中,區間和最大同時這個區間0的個數小於等於3個,輸出這個區間和。輸入 第一行乙個正整數n,表示陣列長度,1 n 1000000。第二行為n個正整數a1 a2 an,其中 1e9 a1,a2,an 1e9 輸出 乙個整數 樣例 輸入1 ...

筆試回顧 一道有趣的演算法題

有這樣乙個陣列a,長度為n,相鄰元素的絕對值都為1,例如a 現給定數字a,設計演算法求a在a中的位置。陣列第乙個數為array 0 要找的數為y,設t abs y array 0 由於每個相鄰的數字之差的絕對值為1。故第t個位置之前的數肯定都比y小。因此直接定位到array t 重新計算t,t ab...

分享三道面試的演算法題

第一道 b 在北京有n個工區,形成乙個環狀,bytebus是往返在各個工區的通勤車,按工區的順序行駛,其中第 i 個工區有汽油 gas i 公升。你有一輛油箱容量無限的的bytebus,從第 i 個工區開往第 i 1 個工區需要消耗汽油 cost i 公升。你從其中的乙個工區出發,開始時油箱為空。如...