華為筆試題(5)

2021-08-07 20:18:42 字數 1981 閱讀 7925

一、

驗證尼科徹斯定理,即:任何乙個整數m的立方都可以寫成m個連續奇數之和。

例如:

1^3=1

2^3=3+5

3^3=7+9+11

4^3=13+15+17+19

輸入描述:

輸入乙個int整數

輸出描述:

輸出分解後的string

示例1

輸入 6

輸出 31+33+35+37+39+41

public

class

main

}else

}system.out.println(sb.tostring());

}sc.close();

}}

二、

計算兩個字串的最大公共字串的長度,字元不區分大小寫

輸入描述:

輸入兩個字串

輸出描述:

輸出乙個整數

示例1

輸入 asdfas werasdfaswer

輸出 6

public

class

main

sc.close();

}private

static

intprocess(string str1, string str2) else

max = math.max(max, dp[i][j]);}}

return max;

}}

三、

問題描述:在計算機中,萬用字元一種特殊語法,廣泛應用於檔案搜尋、資料庫、正規表示式等領域。現要求各位實現字串萬用字元的演算法。

要求:

實現如下2個萬用字元:

*:匹配0個或以上的字元(字元由英文本母和數字0-9組成,不區分大小寫。下同)

?:匹配1個字元

輸入描述:

先輸入乙個帶有萬用字元的字串,再輸入乙個需要匹配的字串

輸出描述:

返回匹配的結果,正確輸出true,錯誤輸出false

示例1

輸入 te?t*.*

txt12.xls

輸出 false

public

class

main

sc.close();

}private

static

boolean

process(string reg, string str)

}for(int i = 1; i <= n; i++) else }}

return dp[n][m];

}}

四、

查詢兩個字串a,b中的最長公共子串。若有多個,輸出在較短串中最先出現的那個。

輸入描述:

輸入兩個字串

輸出描述:

返回重複出現的字元

示例1

輸入 abcdefghijklmnop

abcsafjklmnopqrstuvw

輸出 jklmnop

public

class

main

sc.close();

}private

static string process(string str1, string str2)

int n = str1.length();

string res = null;

int max = 0;//截止串最長長度

for(int i = 0; i < n; i++) else }}

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,表示...