今日下午剛結束面試。一共兩技術人員面的,一人出了一道演算法題,記錄下,並為以後做些準備,由於遠端面試,所以沒有**測試,不知道行不行的通,且行且看吧。
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 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,以及...