華為2012機試第三題

2021-07-04 05:38:49 字數 1402 閱讀 8337

3、作業系統任務排程問題。作業系統任務分為系統任務和使用者任務兩種。其中,系統任務的優先順序 < 50,使用者任務的優先順序 >= 50且 <= 255。優先順序大於255的為非法任務,應予以剔除。現有一任務佇列task,長度為n,task中的元素值表示任務的優先順序,數值越小,優先順序越高。函式scheduler實現如下功能,將task 中的任務按照系統任務、使用者任務依次存放到 system_task 陣列和 user_task 陣列中(陣列中元素的值是任務在task 陣列中的下標),並且優先順序高的任務排在前面,優先順序相同的任務按照入隊順序排列(即先入隊的任務排在前面),陣列元素為-1表示結束。

例如:task =    system_task =    user_task =

函式介面    void scheduler(int task, int n, int system_task, int user_task)

邏輯弄清楚,**提交給面試官看之前先執行幾個測試用例檢查一下

#includeconst int maxn = 100;

void scheduler(int task, int n, int system_task, int user_task)

int usefulnumbers = 0;

for(int i = 0; i < n; ++i)

//printf("%d\n", usefulnumbers);

int systemindex = 0;

int userindex = 0;

int small = 0x7fffffff;

int smallindex = 0;

for(int i = 0; i < usefulnumbers; ++i)

}if(small < 50) //這個判斷條件也應該放在外面,邏輯弄清楚了

else if(small >= 50 && small <= 255)

}system_task[systemindex] = -1;

user_task[userindex] = -1;

for(int i = 0; i < systemindex; ++i)

printf("%d\n", system_task[systemindex]);

for(int i = 0; i < userindex; ++i)

printf("%d\n", user_task[userindex]);

}int main()

; int system_task[maxn], user_task[maxn];

scheduler(task, 9, system_task, user_task);

return 0;

}

2012華為機試 北京

這段時間忙著找工作,今天中午12 30,在北郵參加了華為的機試。很簡單的乙個問題。問題如下 給你乙個數字字串 123 121 2332 讓你判斷該字串是否為回文字串。請補充完方法 返回字串 結果為 true 或者 false public string ispalindromic string in...

華為機試題第三題

輸入乙個正整數x,在下面的等式左邊的數字之間新增 號或者 號,使得等式成立。1 2 3 4 5 6 7 8 9 x 比如 12 34 5 67 89 5 1 23 4 5 6 7 8 9 5 請編寫程式,統計滿足輸入整數的所有整數個數。輸入 正整數,等式右邊的數字 輸出 使該等式成立的個數 樣例輸入...

華為2012吉大機試回顧

華為吉大機試的題目比較簡單,也許這個也歸於華為今年的招聘人數比較多得緣故?這個我就無從考證了。凡是於技術類有關的應聘者是有必要參加華為機試的。機試為每個人乙個題,因為在吉大參加招聘的人比較多,結果分成四批來參加了機試過程。但是考試題目只有三個。我是第四批的,所以我們這批抽到得題是上三輪抽過的,答起來...