97就去色_黄网站在线观看高清免费_向往的生活4在线观看_h在线国产_最近更新免费2019中文字幕_百度影音色情_果冻传媒色AV国产在线播放_野花视频在线观看免费播放在线观看_午夜影院私人_天堂中文在线最新版WWW_浮夸视频第一影院在线观看_色情按摩XXXXXX视频_老师洗澡让我进去桶她的视频_特级毛片片A片AAAAAA_国产老女人一区二区A片_人人爽人妻精品A片二区_欧美综合自拍亚洲综合图_国产在线黄色_www.91成人_爱的天堂

好獵頭網-中高級人才獵頭網站!服務熱線:400-1801-668 好獵頭   |   登錄 注冊

華為2015校招技術類機試題及解題思路

添加時間:2017-12-28 13:51:12
瀏覽次數: 0

職位類型:技術類
機試時間:2015校招(2014年9月)
招聘公司:華為

機試共三道題,樓主寫了一下解題思路,如果有什么錯誤或者大家有什么別的解題方法,可以在評論中提出來,大家互相交流探討。

1.括號合法性判斷
給定一個只有'('和')'的字符串,判斷其在語法邏輯上是否合法。

解答:這題只要判斷左括號和右括號的數是否相等即可。用兩個變量int a,b存儲左右括號數。一個for循環遍歷字符串,遇到左括號a++;遇到右括號b++。最后若a==b,合法;若a!=b,不合法。

2.整數排序
輸入一組大于等于0的整數,根據從大到小的順序排序后輸出;如果排序后有連續數時,只輸出連續輸的最大和最小數。輸入的所有整數都各不相同,即不用考慮兩個整數相同的情況。

如:輸入4,7,2,1,5,8,9,11
??? 輸出11,9,7,5,4,2,1

解答:第一步當然是先排序,各種排序法都行。用Java的話最方便啦,調用Arrays.sort(int[]),一步完成(當然這個是順著排,輸出的時候倒過來就行了)。接下來是去掉連續數的中間數字。注意排序后數組的頭和尾必然要輸出的,于是循環從1:length-2,判斷這些元素跟它前后的元素是否都相差1。

System.out.print(arr[length-1] ",");
for(i = arr.length - 2; i >0; i --){
if((arr== arr[i 1] -1)&&arr == arr[i-1] 1){
continue;
}
System.out.print(arr ",");
}
System.out.print(arr[0]);

3.設計一個定時器管理系統,可以動態啟動、停止定時器,并能根據已失去的時長自動調整剩余的時間。

運行時間限制:1Sec
內存限制:無限制

輸入:啟動定時器:starttimmer: ID, time

舉例:
starttimmer: 1, 1000

啟動一個定時器,其ID為1,定時時長time為1000ms
注:定時器ID用例保證非負整數,定時時長一定為正整數

停止定時器:stoptimmer:
ID

舉例:
stoptimmer:
1

停止一個ID為1的定時器

注:定時器ID用例保證非負整數,如果停止的定時器ID不存在,則忽略。

逝去時長:elapse:
time

舉例:
elapse:
1000
時間逝去1000ms

注:用例保證時長一定為正整數

輸入結束
end
輸出:

按啟動順序輸出還沒有停止的定時器,如ID為1的定時器還有1000ms才結束

timer:
1, 1000

如果所有定時器都停止了,輸出none

none

樣例輸入:

starttimer:
1, 1000

starttimer:
2, 2000

elapse:
1000

end

樣例輸出:timer: 2,1000

這題看了幾遍才看懂,用了java的Timer,但是感覺不對,不知道怎樣才能啟動多個定時器, 怎么修改定時器的時長,以及怎樣檢測定時器的剩余時間。希望哪位大神來指教!

主站蜘蛛池模板: 新丰县| 汶川县| 怀集县| 横峰县| 佛教| 浏阳市| 运城市| 襄樊市| 乐亭县| 聊城市| 墨竹工卡县| 酒泉市| 太仆寺旗| 潮安县| 嘉义县| 平阳县| 江北区| 洛隆县| 新宾| 徐州市| 孟州市| 米易县| 若尔盖县| 盐池县| 乌鲁木齐市| 松阳县| 张家港市| 津市市| 三门峡市| 苍山县| 龙游县| 磐石市| 通化县| 普洱| 麦盖提县| 淳化县| 长寿区| 庆云县| 长春市| 甘谷县| 衡南县|