注意事項:
1、提交**時不要新增任何注釋,否則容易造成編譯錯誤。
一、讀取輸入並賦值
輸入的第一行包含了兩個整數n, k,第二行包含n個正整數,如:
6 9
2 6 5 6 3 5
情況一:第二行資料順序訪問,且只使用一次。(無需建立陣列)——真題例項
int n, k, count = 0, temp, sub = 0;
scanner sc = new scanner(system.in);
n = sc.nextint();
k = sc.nextint();
for (int i = 0; i < n; i++)
情況二:第二行資料可能需要按索引重複訪問。(建立陣列)
int n, minq, count = 0;
scanner sc = new scanner(system.in);
n = sc.nextint();
minq = sc.nextint();
int im = new int[n];
for (int i = 0; i < im.length; i++)
注意:
若輸入乙個整數n後,再換行輸入n行字串,則sc.nextline()讀入整數,而不應該使用sc.nextint()讀入,否則,在迴圈讀入n行字串時,第1行資料會讀入空串,導致程式邏輯錯誤。因為,nextint()只讀取了數字n卻沒有讀取換行符,下乙個nextline()會讀取換行符並解析為空串。
如果要讀入:
2***xx
******x
則使用**段如下:
scanner sc = new scanner(system.in);
int n = integer.valueof(sc.nextline());
for (int i = 0; i < n; i++)
二、選用合適的資料結構
三、排序——真題例項
int n;
scanner sc = new scanner(system.in);
n = sc.nextint();
// 輸入資料
int a = new int[n];
for (int i = 0; i < n; i++)
arrays.sort(a);// 排序
華為上機考試
有乙個陣列a n 順序存放0 n 1,要求每隔兩個數刪掉乙個數,到末尾時迴圈至開頭繼續進行,求最後乙個被刪掉的數的原始下標位置。以8個數 n 7 為例 0,1,2,3,4,5,6,7 0 1 2 刪除 3 4 5 刪除 6 7 0 刪除 如此迴圈直到最後乙個數被刪除。輸入描述 每組資料為一行乙個整數...
上機考試指導
首先,這裡預設投遞崗位是需要進行上機程式設計的崗位。一般來說需要候選人,提前一段時間進行刷題訓練,增強相關演算法的熟悉程度。一般來說,對於上機程式設計的考試題目型別相對來說比較固定。我們可以根據開始題目型別進行優先順序劃分,從而以更加合理的方式來分配備考精力。第一優先順序就是 dfs bfs,滑動視...
華為2016上機考試第二題
開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的 所在的檔名稱和行號。處理 1.記錄最多8條錯誤記錄,對相同的錯誤記錄 即檔名稱和行號完全匹配 只記錄一條,錯誤計數增加 檔案所在的目錄不同,檔名和行號相同也要合併 2.超過16個字元的檔名稱,只記錄檔案的最後有效16個字元 如果檔名不同,而只是檔名的後...