<rt id="eqeyq"><delect id="eqeyq"></delect></rt><rt id="eqeyq"><tr id="eqeyq"></tr></rt>
  • <rt id="eqeyq"></rt><abbr id="eqeyq"></abbr>
    <button id="eqeyq"><input id="eqeyq"></input></button>
    <bdo id="eqeyq"></bdo>
    <table id="eqeyq"></table>
    好獵頭網(wǎng)-中高級人才獵頭網(wǎng)站!服務(wù)熱線:400-1801-668 好獵頭   |   登錄 注冊

    華為2015校招技術(shù)類機試題及解題思路

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

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

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

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

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

    2.整數(shù)排序
    輸入一組大于等于0的整數(shù),根據(jù)從大到小的順序排序后輸出;如果排序后有連續(xù)數(shù)時,只輸出連續(xù)輸?shù)淖畲蠛妥钚?shù)。輸入的所有整數(shù)都各不相同,即不用考慮兩個整數(shù)相同的情況。

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

    解答:第一步當(dāng)然是先排序,各種排序法都行。用Java的話最方便啦,調(diào)用Arrays.sort(int[]),一步完成(當(dāng)然這個是順著排,輸出的時候倒過來就行了)。接下來是去掉連續(xù)數(shù)的中間數(shù)字。注意排序后數(shù)組的頭和尾必然要輸出的,于是循環(huán)從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.設(shè)計一個定時器管理系統(tǒng),可以動態(tài)啟動、停止定時器,并能根據(jù)已失去的時長自動調(diào)整剩余的時間。

    運行時間限制:1Sec
    內(nèi)存限制:無限制

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

    舉例:
    starttimmer: 1, 1000

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

    停止定時器:stoptimmer:
    ID

    舉例:
    stoptimmer:
    1

    停止一個ID為1的定時器

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

    逝去時長:elapse:
    time

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

    注:用例保證時長一定為正整數(shù)

    輸入結(jié)束
    end
    輸出:

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

    timer:
    1, 1000

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

    none

    樣例輸入:

    starttimer:
    1, 1000

    starttimer:
    2, 2000

    elapse:
    1000

    end

    樣例輸出:timer: 2,1000

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

    主站蜘蛛池模板: 永定县| 沙坪坝区| 富锦市| 宁晋县| 藁城市| 万全县| 武乡县| 安岳县| 胶州市| 调兵山市| 乐都县| 秦皇岛市| 麟游县| 枣庄市| 遵化市| 句容市| 繁昌县| 马山县| 通江县| 梨树县| 瑞昌市| 濮阳市| 宁化县| 昌吉市| 堆龙德庆县| 漾濞| 蕉岭县| 玉环县| 秀山| 通山县| 城步| 封开县| 武清区| 彰武县| 上高县| 通辽市| 浮山县| 潮州市| 治县。| 辽源市| 扶风县|