華為機試題目 《工單排程策略》

2022-10-09 21:27:25 字數 1080 閱讀 9494

之所以寫這個部落格是因為這道題沒做出來,但是機試結束後來了思路,但已經沒辦法驗證。。有點遺憾。。所以希望後面有人遇到並搜到這個部落格的話麻煩告知一下能否通過(目前沒辦法確保通過),有通過的大佬也麻煩看下這個思路有沒有問題。為了保證公平在收到回覆後會主動刪掉這個帖子。

當小區通訊裝置上報告警時,系統會自動生成待處理的工單,華為工單排程系統需要根據不同的策略,排程外線工程師(fme)上站去修復工單對應的問題。

根據與運營商簽訂的合同,不同嚴重程度的工單被處理並修復的時長要求不同,這個要求被修復的時長我們稱之為sla時間。假設華為和運營商a簽訂了運維合同,部署了一套排程系統,只有1個外線工程師(fme),每個工單根據問題嚴重程度會給乙個評分,在sla時間內完成修復的工單,華為獲得工單評分對應的積分,超過sla完成的工單不獲得積分,但必須完成該工單。運營商最終會根據積分進行付款。

請你設計一種排程策略,根據現狀得到排程結果完成所有工單,讓這個外線工程師處理的工單獲得的總積分最多。假設從某個排程時刻開始,當前工單數量為n,不會產生新的工單,每個工單處理修復耗時為1小時,請設計你的排程策略,完成業務目標。不考慮外線工程師在小區之間行駛的耗時。 假設有7個工單的sla時間(小時)和積分如下:

思路就是先排序再使用優先佇列遍歷,後面的如果比前面的好就替換掉前面的。重點:如果到了第二個if處,說明此時的arr[i][0]是重複的,如果此時的分數(arr[i][1])比之前得到的某個分數要高,那麼就用這個分數替換掉之前的分數。總體的思想就是:後面的可以放在前面做,但前面的不能放在後面做,後面的如果分數比前面的高,就可以放在前面來做。

public class lctest 

if (arr[i][1] > pq.peek())

}int res = 0;

while(!pq.isempty())

system.out.println(res);}}

華為機試題目

在網上找了一些華為機試的題目,每日堅持寫 1 字元 字串與數值間的轉換 分析 int i ch 48 這個語句完成了單個字元 ch 轉化為數字並存入整型變數 i 的功能。因為字元 0 在 ascii 碼中對應了 48,後面的數值也是以 1 遞增,所以用它對應的ascii碼減去48就是這單個字元的整數...

華為機試題目整理

最近又到了招聘季了,現在也輪到我畢業了。針對華為的機試題目,我整理了一下自己寫的一部分 參考別人和自己的理解寫的,經過測試,可以執行。一 3.通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。比如字串 abacacde 過濾結...

華為2016機試題目

昨天去華為南研機試 故地重遊 沒啥感慨 題目很簡單 第一題 輸入乙個字串,輸出其中字母 數字 空格 其他字元的個數 輸入乙個字元之後 直接比較就行 邊界條件 也就是判斷是否為空 核心 如下 void countnumber char str,int numofletter,int numofnumb...