㈠ 用java實現,壓縮字元串,例如aaaawwwwe輸出4a5we
publicStringcountChar(Stringstr){
char[]aa=str.toCharArray();
int[]ch=newint[255];//以擴展ascII碼的長度定義整型數組,用於計數,比如a出現一次時,ch[97]就加1,附ascII碼表http://wenku..com/link?url=QtgixHAgMzyo_Ts_bLburo-qcOX7FAhR8vl96BrPbWA05FAbW-SCCARIZfjIBWxDzi-FmWonFjnoRBKMA8jQ1Wg3FDyG_6NZwbf4SZ4IH4C
for(inti=0;i<aa.length;i++){
chara=aa[i];
ch[a]++;//char型變數用於整型時,java取其ascII碼
}
Stringresult="";
//計數完成後遍歷ch取計數值
for(inti=0;i<ch.length;i++){
if(ch[i]>0){
result+=ch[i];//取計數值
charc=i;//取ascII碼對應的字元
result+=String.valueOf(c);
}
}
returnresult;
}
㈡ 編程提示用戶輸入兩個正整數,並求出它們的最大公約數,分別實現下 面三種演算法:
演算法一:
#include <stdio.h>
main()
{
int n1,n2,gcd=1,k=2;
scanf("%d %d",&n1,&n2);
while(k<n1||k<n2)
{
if(n1%k==0&&n2%k==0)
gcd=k;
k++;
}
printf("最大公約數為:%d",gcd);
}
演算法二:
#include <stdio.h>
void main()
{
int n1,n2,k,i;
scanf("%d %d",&n1,&n2);
if(n1>n2)
k=n2;
for(i=k;i>0;i--)
if(n1%i==0&&n2%i==0)
printf("最大公約數為:%d\n",i);
}
演算法三:
#include <stdio.h>
void main()
{
int gcd(int n1,int n2);
int n1,n2,k;
scanf("%d %d",&n1,&n2);
k=gcd(n1,n2);
printf("最大公約數為:%d\n",k);
}
int gcd(int n1,int n2)
{
if(n1%n2==0)
return n2;
else
return gcd(n2,n1%n2);
}
希望能幫助你,如有疑問請登錄http://we.share.lc在線為您解答!
㈢ 經典筆試面試知識整理,數據結構與演算法(代碼演示)
題目描述:
在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。
輸入描述: array: 待查找的二維數組 target:查找的數字
輸出描述:
查找到返回true,查找不到返回false
題目描述:
請實現一個函數,將一個字元串中的空格替換成「%20」。例如,當字元串為We Are Happy.則經過替換之後的字元串為We%20Are%20Happy。
題目描述: 輸入一個鏈表,從尾到頭列印鏈表每個節點的值。
輸入描述: 輸入為鏈表的表頭
輸出描述: 輸出為需要列印的「新鏈表」的表頭
題目描述:
輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重復的數字。
例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。
題目描述:
把一個數組最開始的若干個元素搬到數組的末尾,我們稱之為數組的旋轉。輸入一個遞增排序的數組的一個旋轉,輸出旋轉數組的最小元素。
例如數組{3,4,5,1,2}為{1,2,3,4,5}的一個旋轉,該數組的最小值為1。 NOTE:給出的所有元素都大於0,若數組大小為0,請返回0。
1、題目描述:
大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。n<=39
2、題目描述:
一隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上一個n級的台階總共有多少種跳法。
3、題目描述:
一隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的台階總共有多少種跳法。
4、題目描述:
我們可以用2*1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?
1、題目描述:
輸入一個整數,輸出該數二進製表示中1的個數。其中負數用補碼表示。
2、題目描述:
給定一個double類型的浮點數base和int類型的整數exponent。求base的exponent次方。
題目描述:
輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位於數組的前半部分,所有的偶數位於位於數組的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。
題目描述:
用兩個棧來實現一個隊列,完成隊列的Push和Pop操作, 隊列中的元素為int類型。
題目描述:
輸入一個鏈表,輸出該鏈表中倒數第k個結點。