一、編寫乙個程式,將輸入字串中的字元按如下規則排序。
規則 1 :英文本母從 a 到 z 排列,不區分大小寫。
如,輸入: type 輸出: epty
規則 2 :同乙個英文本母的大小寫同時存在時,按照輸入順序排列。
如,輸入: baba 輸出: aabb
規則 3 :非英文本母的其它字元保持原來的位置。
如,輸入: by?e 輸出: be?y
樣例:
輸入描述:
輸出描述:
示例1
輸入 a famous saying: much ado about nothing (2012/8).
輸出 a aaaabc dfgghh: iimm nnn oooos sttuuuy (2012/8).
*/
public
class
main }}
for(int i = 0; i < chs.length; i++)
}system.out.println(sb.tostring());
}sc.close();
}}
二、乙個dna序列由a/c/g/t四個字母的排列組合組成。
g和c的比例(定義為gc-ratio)是序列中g和c兩個字母的總的出現次數除以總的字母數目(也就是序列長度。
在基因工程中,這個比例非常重要。因為高的gc-ratio可能是基因的起始點。
給定乙個很長的dna序列,以及要求的最小子序列長度,研究人員經常會需要在其中找出gc-ratio最高的子串行。
輸入描述:
輸入乙個string型基因序列,和int型子串的長度
輸出描述:
找出gc比例最高的子串,如果有多個輸出第乙個的子串
示例1
輸入 aaatcacggagaaaccaggtcagctgtctttacctcgc
19 輸出
cacggagaaaccaggtcag
public
class
main
}if(cnt > max)
}system.out.println(str.substring(index, index + n));
}sc.close();
}}
三、問題描述:給出4個1-10的數字,通過加減乘除,得到數字為24就算勝利
輸入:
4個1-10的數字。[數字允許重複,測試用例保證無異常數字]
輸出:
true or false
輸入描述:
輸入4個int整數
輸出描述:
返回能否得到24點,能輸出true,不能輸出false
示例1
輸入 7 2 1 10
輸出 true
*/
public
class
main
system.out.println(process(a,new
boolean[4], 0));
}sc.close();
}private
static
boolean
process(int a, boolean vis,double res)
vis[i]=false;}}
if(res==24)else
}}
四、輸入任意(使用者,成績)序列,可以獲得成績從高到低或從低到高的排列,
相同成績都按先錄入排列在前的規則處理。
0為從高到底排序,1為從低到高排序
輸入描述:
輸入多行,先輸入要排序的人的個數,然後分別輸入他們的名字和成績,以乙個空格隔開
輸出描述:
按照指定方式輸出名字和成績,名字和成績之間以乙個空格隔開
示例1
輸入 3
0 fang 90
yang 50
ning 70
輸出 fang 90
ning 70
yang 50
public
class
main
sort(name, score, n, flag);
for(int i = 0; i < n; i++)
}sc.close();
}private
static
void
sort(string name, int score, int n, int flag) }}
}else
if(flag == 1) }}
}}
}
五、如果a是個x行y列的矩陣,b是個y行z列的矩陣,把a和b相乘,其結果將是另乙個x行z列的矩陣c。
輸入描述:
輸入說明:
1、第乙個矩陣的行數
2、第乙個矩陣的列數和第二個矩陣的行數
3、第二個矩陣的列數
4、第乙個矩陣的值
5、第二個矩陣的值
輸出描述:
輸出兩個矩陣相乘的結果
示例1
輸入 2 2 2
3 8
8 0
9 0
18 9
輸出 171 72
72 0
public
class
main
}for(int i = 0; i < aj; i++)
}int c = multi(a, b);
for(int i = 0; i < ai; i++)
system.out.println(c[i][bj - 1]);}}
sc.close();
}public
static
intmulti(int a,int b)
}
六、矩陣乘法的運算量與矩陣乘法的順序強相關。
例如:
a是乙個50×10的矩陣,b是10×20的矩陣,c是20×5的矩陣
計算a*b*c有兩種順序:((ab)c)或者(a(bc)),前者需要計算15000次乘法,後者只需要3500次。
編寫程式計算不同的計算順序需要進行的乘法次數
輸入描述:
輸入多行,先輸入要計算乘法的矩陣個數n,每個矩陣的行數,列數,總共2n的數,最後輸入要計算的法則
輸出描述:
輸出需要進行的乘法次數
示例1
輸入 3
50 10
10 20
20 5
(a(bc))
輸出 3500
public
class
main
string str = sc.next();
system.out.println(process(n, a, str.tochararray()));
}sc.close();
}public
static
intprocess(int n, int a, char chs)else
if(chs[i] >= 'a' && chs[i] <= 'z') else
if(chs[i] == ')') }}
return res;
}}
華為筆試題
int a nsize 其中隱藏著若干 0,其餘非 0整數,寫乙個函式 int func int a,int nsize 使a 把0移至後面,非 0整數移至 陣列前面並保持有序,返回值為原資料中第乙個元素為0 的下標。盡可能不使用輔助空間且考慮效率及異常問題,注釋規範且給出設計思路 include ...
華為筆試題
某軟體需要實現建議的cd key演算法,輸入3個正整數,以空格隔開,根據這3個整數生成cd key字串,輸出格式 x x x xxyy,包括16個字元,以短劃線分開,其中,cd key最後兩個yy是用於cd key的自校驗,確保cd key本身是合法的。cdkey使用的字元表23456789abcd...
華為筆試題
輸入描述 輸入乙個字串,字串中包含了全量字符集和已占用字符集,兩個字符集用 相連。前的字符集合為全量字符集,後的字符集為已占用字元集合。已占用字符集中的字元一定是全量字符集中的字元。字符集中的字元跟字元之間使用英文逗號分隔。字符集中的字元表示為字元加數字,字元跟數字使用英文冒號分隔,比如a 1,表示...