華為外包l兩道面試演算法題。

2021-10-01 20:28:38 字數 1180 閱讀 8462

今日下午剛結束面試。一共兩技術人員面的,一人出了一道演算法題,記錄下,並為以後做些準備,由於遠端面試,所以沒有**測試,不知道行不行的通,且行且看吧。

1、輸入為string 字母卡片(可以重複)和乙個單詞,問利用字母卡片是否能拼出單詞。

事例:字母卡片「zoos」,單詞「zoo」

答案是可以的輸出true

如果單詞是「zoom」

輸出為false

/*我一共給他說了兩個解法,並寫出了**,

第乙個是利用陣列實現的,效率不高,在這就不寫了,簡單說下思路吧,

就是把這兩個輸入都轉換成陣列,

然後對單詞陣列的每乙個挨個比較卡片是否有,

若是有就將這兩個為位置的字元用特殊字元如數字1代替

表明可以匹配的上且卡片也用掉了,遍歷完接下來,

看字母陣列是否全是特殊字元,若是,則返回真,否則為假

第二個解法是醫用hash表進行操作,在這邊寫下吧*/

public

boolean

canwedo

(string card,string world)

cardmap.

put(a,k);}

int num2=world.length;

for(

int i=

0;i) worldmap.

put(a,k);}

//接下來進行判斷了,首先看是否有所有的單詞

set set1=cardmap.

keyset()

; set set2=worldmap.

keyset()

;//再看字母卡片數目是否足夠

return flag;

}

第二道題目是求乙個整形陣列的最大連續子串的長度,

我是利用乙個二維陣列蠻力解決所有的子串,再根據值在二維陣列的位置找到

連續子串的長度的。

public

intlengthmaxsub

(int

a)return

(k-t);}

public

intcal

(int

a,int k,

int j)

搞定,心累啊啊啊

兩道面試演算法題

最近面試 兩道演算法題 說難不難 要寫全對也不容易 很慚愧 我沒有一次寫對 第一道 無序int陣列 找到中位數 void swap int a,int b int get kth number vector num,int k,int start,int end 一次劃分結束 index i if ...

CVTE 面試的兩道演算法題

下了班立馬趕往深圳北站,下著大雨又坐過了站,著急地跑向對面的站牌,匆忙間搞得滿頭大汗。好不容易坐上了高鐵,休息片刻,終於有時間整理一下前兩天面試cvte 時遇到的兩道演算法題。1.在陣列中尋找和為固定值的兩個數字 這道題目是一面的時候乙個女面試給出的最後乙個面試問題。題目的大概意思如上,資料不一定有...

兩道貪心演算法題

假設有n項物品,大小分別為s 1 s 2 s i sn 其中s i為滿足1 s i 100的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,以及...